<SEC-DOCUMENT>0001410578-25-000194.txt : 20250224
<SEC-HEADER>0001410578-25-000194.hdr.sgml : 20250224
<ACCEPTANCE-DATETIME>20250224140904
ACCESSION NUMBER:		0001410578-25-000194
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		110
CONFORMED PERIOD OF REPORT:	20241231
FILED AS OF DATE:		20250224
DATE AS OF CHANGE:		20250224

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			INNODATA INC
		CENTRAL INDEX KEY:			0000903651
		STANDARD INDUSTRIAL CLASSIFICATION:	SERVICES-COMPUTER PROCESSING & DATA PREPARATION [7374]
		ORGANIZATION NAME:           	06 Technology
		IRS NUMBER:				133475943
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

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

	BUSINESS ADDRESS:	
		STREET 1:		55 CHALLENGER ROAD
		STREET 2:		SUITE 202
		CITY:			RIDGEFIELD PARK
		STATE:			NJ
		ZIP:			07660
		BUSINESS PHONE:		201 371 8000

	MAIL ADDRESS:	
		STREET 1:		55 CHALLENGER ROAD
		STREET 2:		SUITE 202
		CITY:			RIDGEFIELD PARK
		STATE:			NJ
		ZIP:			07660

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	INNODATA ISOGEN INC
		DATE OF NAME CHANGE:	20031117

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	INNODATA CORP
		DATE OF NAME CHANGE:	19930505
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>inod-20241231x10k.htm
<DESCRIPTION>10-K
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<!-- iXBRL document created with: Toppan Merrill Bridge iXBRL 10.9.0.3 -->
<!-- Based on: iXBRL 1.1 -->
<!-- Created on: 2/24/2025 7:05:34 PM -->
<!-- iXBRL Library version: 1.0.9062.16423 -->
<!-- iXBRL Service Job ID: 28810fbc-f464-4a88-b6a6-bfe43aed2a95 -->
<html xmlns:stpr="http://xbrl.sec.gov/stpr/2024" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:inod="http://www.innodata-isogen.com/20241231" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:country="http://xbrl.sec.gov/country/2024" xmlns:cyd="http://xbrl.sec.gov/cyd/2024" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:srt="http://fasb.org/srt/2024" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns="http://www.w3.org/1999/xhtml" xmlns:ecd="http://xbrl.sec.gov/ecd/2024" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2022-02-16" xmlns:xbrldi="http://xbrl.org/2006/xbrldi"><head><meta content="text/html" http-equiv="content-type"/><title>INNODATA&#160;INC_December&#160;31, 2024</title></head><body><div style="margin-top:30pt;"></div><div style="display:none;"><ix:header><ix:hidden><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList" id="Hidden_CTjtzSPBGUebv-XEqJPIpw">http://fasb.org/us-gaap/2024#InterestIncomeExpenseNonoperatingNet</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList" id="Hidden_LD_khgHSaE6-z0vUfwhD5A">http://fasb.org/us-gaap/2024#OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:EntityCentralIndexKey" id="Tc_wc8M4aziukCV4UuaFGwpGw_2_1">0000903651</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:CurrentFiscalYearEndDate" id="Tc_AFgGQ1ftz0KxrjIhsrTruA_3_1">--12-31</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:DocumentFiscalYearFocus" id="Tc_xziuH7XYQ0iyVjbZKaZMHA_4_1">2024</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:DocumentFiscalPeriodFocus" id="Tc_Ij1r6kh_z0u57oNGovcRPw_5_1">FY</ix:nonNumeric><ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" xs:nil="true" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" name="us-gaap:CommitmentsAndContingencies" id="Hidden_xsLURGSe4k2KXes4-rEENA"></ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" xs:nil="true" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" name="us-gaap:CommitmentsAndContingencies" id="Hidden_49_KtRx5xU-gcwyRt55A9w"></ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" xs:nil="true" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" name="us-gaap:PreferredStockValue" id="Hidden_E9tF80qJYESw5AxDuGStLA"></ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" xs:nil="true" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" name="us-gaap:PreferredStockValue" id="Hidden_vs-L0KUflE-ct85yt3pDLw"></ix:nonFraction><ix:nonNumeric contextRef="As_Of_12_31_2024_srt_RangeAxis_srt_MinimumMember_l_Zbsb2eb0u2_FRbUsP-cA" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Hidden_JBYbhKVqzEGL0mHdEk0dxw">P2Y</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_12_31_2024_srt_RangeAxis_srt_MaximumMember_9rlFfpQtP0C99Qd_6dkL_A" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Hidden_hPmr4tYES0iTF5TyWe2ahg">P10Y</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_12_31_2024_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_SqKm6jfpHEudgbIT3_Sh4w" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Hidden_tEUnEellt0mU_k_YoZWk7Q">P3Y</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_12_31_2024_srt_RangeAxis_srt_MinimumMember_l_Zbsb2eb0u2_FRbUsP-cA" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Hidden_GyFyEVe85kuWxhzAdg74oA">P10Y</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_12_31_2024_srt_RangeAxis_srt_MinimumMember_l_Zbsb2eb0u2_FRbUsP-cA" name="us-gaap:LesseeOperatingLeaseTermOfContract" id="Hidden_Nq0piYfJ70iBZplajOJ_Wg">P3Y</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" name="us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList" id="Hidden_dTanDrqytkiI4Uv_EFTIpA">http://fasb.org/us-gaap/2024#InterestIncomeExpenseNonoperatingNet</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" name="us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList" id="Hidden_usZZvKP_Ukqb3RkNFi3dVA">http://fasb.org/us-gaap/2024#OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax</ix:nonNumeric><ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="As_Of_6_9_2023_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember_EmENcejXIUeVJQDQ02BKlQ" decimals="INF" name="inod:ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio" id="Hidden_upOLd_YbXkymY66duN8I7w">1</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="As_Of_6_9_2023_us-gaap_PlanNameAxis_inod_AwardsGrantedOnOrAfterApril112022Member_mRB758da-U6Jb554dxShHw" decimals="1" name="inod:ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio" id="Hidden_-5NjuzOIGkyCsdwqEurfMw">1.5</ix:nonFraction><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ShareBasedPaymentArrangementGranteeStatusExtensibleList" id="Hidden_TKcAPII4akSwiA0-ioPAUg">http://fasb.org/us-gaap/2024#ShareBasedPaymentArrangementNonemployeeMember</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_aBl18KRgD0WnIJLI5-9AWA" name="us-gaap:DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" id="Hidden_ZzADL070F0SbmOl_6h7B7w">http://fasb.org/us-gaap/2024#SecuredOvernightFinancingRateSofrMember</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:AmendmentFlag" id="Narr_vAMkbp734Ei4z6nfIDZ_TQ">false</ix:nonNumeric></ix:hidden><ix:references><link:schemaRef xlink:type="simple" xlink:href="inod-20241231.xsd"/></ix:references><ix:resources><xbrli:context id="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_mmjd8mr120yR6NI5hafzmw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</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="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_MffRea2qLEye13U1QoaE6A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_AcPvuwTUIUyHTVWxo6Bl1Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_8vYuT3SzSUKXbb9D-_JT2A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_CwhXtrb-b0SgkMQUjSZW0w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_fk-VZ9zSikWIXZIhj6xt2A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_nvIIRtKsT0-ZjLXT7vplNA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_CSRCPJe9v0OyfUwMc3gLkg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_5w_H5iQOwE6adIyuRS2n_Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_WeGzA3hrkEOYbysOV2UppA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_LnHQUrJ0-kiftXtbNdvXSA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_pxApacqkV0O9k2EwxZy_-A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_N_3EjNshDUq3PPmZyM-gKQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_PV2elI63NEyHDoTFk3r2pA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_V7v7ubfu6k6Xs9sp3gx4cg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_CVac1-kyokSMXmD22IhQNQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_nJVPxfz-WUSmy3NCOT2APA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_6jQMVoiAsEqczvfr8DGh5w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_6yMIDHh6X02xbxdbay1Brw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_ShE4T_7_NkarxWPzA8RF3g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_zCf_LNCZRUyXO1jdgC_P8g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_ee1CIzcen0m5NhH2RNN34Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_HTS8kjauZkGXuoVV9EP1Xg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_OlEFfdk_ZU-DlbK6CaR86Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_rAscOWNTsk2zumVWHLnwCg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_BviIBhrirESSkgraRDdqgg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_p_PZX76naUql9HYXXBjJ3Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_egytfkiAH0qoad7x1i3mMw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_UnngrDnV7UuQUrb43pZqTA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_G03ck5x1Xk2bCIxUAeF0nA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_jErzQdPJKUKm2h19Lv8jNQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_ZNzogdH5jE2de-mLf-S8fA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_1QX6msLoqUSOjSTVRyjd3Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_yJZ0XTvo-Em74H2hVVhUCw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_TitleOfIndividualAxis_srt_DirectorMember_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_y3YcLN4pr0GG0CKG2-ytUg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_NmgNgFypa0-knTgaSMhzpg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</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="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_aWQm3TUbnU-1V5aCIUcZDQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</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="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_K4xRyIwJ9UuhdosvSbDM9Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_jmxIQXc-t0KaBZyssqMq0w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</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="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_0zg3zU8O1kWhCYvsJi7GOQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_e10c1fXBpE25m0tgQ7njdA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_nBzKbRsmBkuJ7QlgwyUinQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_EtniPK0ICU-6FZ6XRrVQ1g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JLyhRpUyIkyJ7Y4X6NRSHg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_FjBKu8s8aEehcxym0F6GhA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_fk5-2GIc_E6yEF_SV2noWQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_NGDGuB25Dk-L2onuGDgqzQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_12_31_2024_srt_TitleOfIndividualAxis_inod_NonEmployeeMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_CKBmSODh0Uq2YriEHjstFA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">inod:NonEmployeeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</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="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_Nxv9DKiUokmPp5RwTNkLPg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_r28vrVunzE6Y7Pr8d98ApQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</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="Duration_1_1_2024_To_12_31_2024_us-gaap_PlanNameAxis_inod_EquityPlansMember_APOUYYbHokqBF-jX-_Hqag"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</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="Duration_1_1_2024_To_12_31_2024_srt_StatementGeographicalAxis_inod_OtherPrincipallyEuropeMember_D2pospoFuEerOD86WBLppA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">inod:OtherPrincipallyEuropeMember</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="Duration_1_1_2024_To_12_31_2024_srt_StatementGeographicalAxis_country_US_nDQWfjvHv0y2oQwWoBJaEA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</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="Duration_1_1_2024_To_12_31_2024_srt_StatementGeographicalAxis_country_NL_tEkK51FiFkWLjoGdH14nxg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</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="Duration_1_1_2024_To_12_31_2024_srt_StatementGeographicalAxis_country_GB_qsVfT86o0UuiZpnsQCOMvg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</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="Duration_1_1_2024_To_12_31_2024_srt_StatementGeographicalAxis_country_CA_wYMJDAKY-EG0oNI94uXvAw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_inod_OtherPrincipallyEuropeMember_fKRoqkvvykSUshQGHJCiSw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">inod:OtherPrincipallyEuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_US_Au7whR08OUyEZWtUTxoXdA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_NL_Y7HzdVe2MEGqH_1Ry_BTvw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_GB_NwJe7mL3sU2LHKHNe4a4qw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_CA_ob6LzdJzbk6rFHRKIA-tLA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2024_us-gaap_BalanceSheetLocationAxis_us-gaap_AdditionalPaidInCapitalMember_oCNVS04TC0Cq-wcGW_H4gw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_xMtDoOyH10CNZDutgw8TdA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_3DlofO4zDUKn02n09GPZFw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_InProcessResearchAndDevelopmentMember_NGuznsOl_kG1xy8i1jD-HQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_-zFtSVxVNkWC9G2b396qmg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_EquipmentMember__yC4g6PBQkWSkq2Gm4hw0Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ConstructionInProgressMember_xsSlSArCaUWeIjcgDtPgzw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_X0Jvz2E3rU2jNLwDtrwhjA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_wehGlPdWwkCiksPnqZCVXA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_CYsdJ46hgkecX1vsvFrdHw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_InProcessResearchAndDevelopmentMember_32-BbV39KkeI3npA9bh9TA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_Y_Uq_DnVBUCXJ7hSUUfI0w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_EquipmentMember_ek-s0CxjYUKNOwei4fO_CQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ConstructionInProgressMember_bTpAxYLv1EaKnxxkyNnNnA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_TNGe9si3LUmn8wMhmsCq9w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_12_31_2024_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_SubsidiariesMember_zL4yJn50YkCqXTbnLnF25Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:SubsidiariesMember</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="Duration_1_1_2023_To_12_31_2023_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_SubsidiariesMember_aHoQNEWoh0qVt_-SnqRneg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:SubsidiariesMember</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="As_Of_12_31_2024_srt_ConsolidatedEntitiesAxis_inod_AgilityMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_ForeignCountryMember_P3LYAbUG30W_adlAJ0XNWA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">inod:AgilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_IncomeTaxAuthorityAxis_us-gaap_StateAndLocalJurisdictionMember_40mIZicf6kqjyV7LLTjtWw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_srt_ConsolidatedEntitiesAxis_inod_GermanAndUnitedKingdomSubsidiariesMember_AXVrvXDUoE6y64H48yyAqQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">inod:GermanAndUnitedKingdomSubsidiariesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_ShortTermOperatingLeaseMember_PryYjEecfUy_JehyfdmhrQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">inod:ShortTermOperatingLeaseMember</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="Duration_1_1_2024_To_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_LongTermOperatingLeaseMember_Ue1ES-ceIU6xj-0x9WolGQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">inod:LongTermOperatingLeaseMember</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="Duration_1_1_2023_To_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_ShortTermOperatingLeaseMember_iB96pRrJBkalOWW3knvCTw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">inod:ShortTermOperatingLeaseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_LongTermOperatingLeaseMember_Hm5vdvcv2kajh1AKpzN1mw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">inod:LongTermOperatingLeaseMember</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="As_Of_12_31_2024_srt_StatementGeographicalAxis_stpr_IL_z1G9lc4gjEuqq1fuEGY8Mg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">stpr:IL</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_inod_ForeignCountriesMember_ZzRFei96XEquYEbW4N8xIQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">inod:ForeignCountriesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_PH_uuM_lRFX2Emr8ODxUjRSkg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PH</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_LK_4Fh76J9z60SdETIPB2ezrA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:LK</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_IN_JUpwXiqcYUGcm1fOlBs-Yg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_GB_O_LlwubZOkWtDW_HirHc5A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_DE_NtGBHoCqW0KqXeCJYBCefw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_CA_xGcix37yqEePc6LlzMTQOw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2023_srt_StatementGeographicalAxis_stpr_IL_yk7SngNHY0yjRCe9MxdM1g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">stpr:IL</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_inod_ForeignCountriesMember_ZPPbAPeRNEyNY65VDxYiAA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">inod:ForeignCountriesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_US_t5m68aLw50-Pg1QhilfDlQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_PH_RWnIrQOsa0mKa1nBvTgV_w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PH</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_LK_TFp11VS73kufhMq0wqkUNg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:LK</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_IN_b2JzLjKf_0e_O0UN6Lq1JA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_GB_ng20ziJdRkyivXAriMbCdQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_CA_LmRfp9wnrkKasCJLc-PzTg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_L6FjkbeiQEqL6Nf8ptlZfg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_9fT9uSdqy0O4iRsMJVDdBQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_Oh7Lh_DHn0K4-FcC2NeNMA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_S1GDvg3IeE2XmKn1NwjnPQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2024_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_SqKm6jfpHEudgbIT3_Sh4w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_qwpqTP9sVEuIY51pu28Ing"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_aMPqSQnl6kqE-3fgQ1ZqTw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_NX28TL-gtEa9Jqam-XF_eQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_vBp8aS24AkK0HxET52mzwg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_8DuPb6w0zU6DLbsVO6seHA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_fWTSucoVEUe4yw6Qr0B42A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">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="As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_dPb8d2je8km8OBvQeNYlZg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_tBdaD7jObESRaJN-G0P9AQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_wnRAMXxsP0KQ2z8PfMmLkQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</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="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_O7yfbrfxzUSnxuSPdkrSog"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</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="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_fJBd0u5TNUKpMn8Sb4Z7cQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</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="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_vg9O6mYhHk2rk-GwFGX3jA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_5skyboIVE0W-gVY8_RY_jQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_4XqHiOkraEqYKlIciFylTA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</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="As_Of_12_31_2024_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_WqCf5fkajkCAgTVIJ0pPWw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_a3hTbpXLWUaKxQsYFEjCTg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_eQJKcCKF2kW_PycYnUZPVw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PropertyPlantAndEquipmentMember</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="Duration_1_1_2023_To_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_uOkIzEHivUOY4FC5Ao7koQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PropertyPlantAndEquipmentMember</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="As_Of_12_31_2024_srt_RangeAxis_srt_MinimumMember_l_Zbsb2eb0u2_FRbUsP-cA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2024_srt_RangeAxis_srt_MaximumMember_9rlFfpQtP0C99Qd_6dkL_A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_4Xr8jz8S1EOVLxVXoZ6maQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_tsOP1MjFWEasxAWpgU6lww"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2024_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_kRwU2Sj4_UG70ixd_NZd4w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_srt_ConsolidatedEntitiesAxis_inod_CanadianSubsidiariesMember_mElcPbKVGEuFacdBlL31Xw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">inod:CanadianSubsidiariesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_12_31_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_aBl18KRgD0WnIJLI5-9AWA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</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="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_RDdLwXvIoEmsSgtOv4tMag"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_gmsKeuNeWUS7pvwtaEpy9g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_12_31_2024_srt_StatementGeographicalAxis_us-gaap_NonUsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_MPu6YzbxnkaAhAa2gAdCug"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ForeignCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_JTqKMIIzn0OWteVriD9C7g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ForeignCustomerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_p2a7is_IREm3ouxeuHtiWQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_us-gaap_NonUsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_rCle3eMyOEyIvjLCJkG__g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_qNQXPKAzR0OEyNGUUTCncA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:OneClientMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ForeignCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_mKvNA3LkWk2yN5AyVvzZTQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ForeignCustomerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_eJa40A_h-kGX1tkJzjjYZA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember__9wUofjsfU2SeYiwOl4XdQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_srt_AsiaMember__bWFAUrycEafPJpnR29Jmw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_US_MYl3p3GHYUaoOcHGs6RTWA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_SSIfYE19WUOlIjea1mhcDg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_ZkcQQYagPUyHD8wdcfG0jQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_MLNwS_aTIUuTdBN3FUPH9g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_sgEdfoGjkkyqNaNicssoTw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_ggxGbhWXtkmqZAz4OWrkPQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_ZpY5x40RPUa6rvRcgQwxBg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_12_31_2024_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_tWfdOE89JECD__2OPj2d0w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">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="Duration_1_1_2024_To_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_LyApVJW6OkmI3Xh3YqHKkw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</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="Duration_1_1_2024_To_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_cMNIsVNcS0WVTXprZROG1g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:AcquiredIntangibleAssetsMember</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="Duration_1_1_2023_To_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_jlvfpQM2aEWkgyv6kOADVg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_1VSqJnBYzUqitSTWtLQtHQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:AcquiredIntangibleAssetsMember</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="As_Of_12_31_2022_WoVfVjcRzU6369CtXFJAWg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Oj-lSX5ZT0qBDQ6HNFvFiw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_bD8dJkXY7EiAehWPrCYChg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_PlanNameAxis_inod_July2019Member_T5ZP6hp28U-RspLZQ67Yvg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:July2019Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_7_31_2019_s93iPUAMGUCz6w2T0wWdiQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2019-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_pzfnAvg4pUGclFLXGW9jnw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</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="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_jD5VrhScy06RSiAu49DIAA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_H9NJJEgo4kWJJbKAl2z-Qg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</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="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_BGgJQnoTW02boQd9SECQyg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</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="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_tqUhE8BohU66zRGcrSUCUA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_7EVSMZ6DwUa94xKEQUjYlg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_awj5OpJa4U-8btL7kJn3Vg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_Aqd5yOzLDk6zkCnBcRAbAA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</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="As_Of_12_31_2024_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_fwcY7lj510OcAQSgdp1nHA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_9_2023_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember_EmENcejXIUeVJQDQ02BKlQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanOtherMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-09</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_9_2023_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_HHxLeIWcnEOlVPLGwBoJww"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-09</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_9_2023_us-gaap_PlanNameAxis_inod_AwardsGrantedPriorToApril112022Member_knE5T9x-PkGSL_HNw99myg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:AwardsGrantedPriorToApril112022Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-09</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_9_2023_us-gaap_PlanNameAxis_inod_AwardsGrantedOnOrAfterApril112022Member_mRB758da-U6Jb554dxShHw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:AwardsGrantedOnOrAfterApril112022Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-09</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_12_31_2024_srt_RangeAxis_srt_MinimumMember_SipQmlg36kW6u5QpLXmzLg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="Duration_1_1_2024_To_12_31_2024_srt_RangeAxis_srt_MaximumMember_vvxg8TJf3EWhXwTHn_N3og"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_TwoClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_gWFnncdmTEGT7_HnXni5Cg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:TwoClientMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_RA24ZCeBFEauAZjTcQN-Fg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:OneClientMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_gS6teXbpfkiAhH9SQOC_9g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ClientMember_srt_StatementGeographicalAxis_country_US_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_AWdcfG0ZVkWokAYI1JqaBA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</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="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ThreeClientsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_4Sadc-gyL0iMsAwA2tleig"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ThreeClientsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_nePV46ws3E2oSn-a3utVCg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_ARKlRptwm0ecXlwdFM97gA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-08-05</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_8_5_2024_To_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_Rd8_85kk1EGdoRwjZ_W3KA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-08-05</xbrli:startDate><xbrli:endDate>2024-08-05</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_PKxFcABwbkmwoSU97uIsAA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">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="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_OmXD6cj2NEmSBQ9mD6rfBQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DatabasesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_eswZ0NbwE06a9qMbMPgHLg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_M6aU7ypd2kuLaMxEq0lL7w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_0-E2__Mdfke8EEhPBxIe5A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:CapitalizedSoftwareDevelopmentCostWorkInProgressMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_1MdjChxLRE6mhBgeY-CjAQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:CapitalizedSoftwareDevelopmentCostMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_SWi9yEqTK0WXo99bGHtHlg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:AcquiredIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_bGD45DXuLU6nN5Sdo0ZyPg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_T2-GY1BEYEqpD-xKLKir4A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">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="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_coTsSQ8a5UiJTgMVNwYvUw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DatabasesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_uDsmnZ1-Uk2Lu5k7gjkmQA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_wEUi7eT-90-6_6jZ8v2_Rg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_c2Fpk42UF0K4J2tiO89gcg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:CapitalizedSoftwareDevelopmentCostWorkInProgressMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_GpUffxo200uDJmHAMVMpNg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:CapitalizedSoftwareDevelopmentCostMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_Ifc6Jo0zpEi9vYzAdGr9gg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:AcquiredIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_10_1_2024_To_12_31_2024_e94n7merh0i_5dugZ2QBLQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_6_30_2024_2RjEAmYkekm4NIa4ns6c3g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_2_17_2025_dyYhT14yDE6EJiAy3ejC_Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2025-02-17</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</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:unit id="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_customer_9_H1AbzmbEiNYhU0niR5jw"><xbrli:measure>inod:customer</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Divide_Vote_shares_BYSm1KDzP0aI6SdGunFURg"><xbrli:divide><xbrli:unitNumerator><xbrli:measure>inod:Vote</xbrli:measure></xbrli:unitNumerator><xbrli:unitDenominator><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unitDenominator></xbrli:divide></xbrli:unit><xbrli:unit id="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w"><xbrli:divide><xbrli:unitNumerator><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unitNumerator><xbrli:unitDenominator><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unitDenominator></xbrli:divide></xbrli:unit><xbrli:unit id="Unit_Standard_segment_vYtCzY4wxUGW3JZsiWLCYw"><xbrli:measure>inod:segment</xbrli:measure></xbrli:unit></ix:resources></ix:header></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-bottom:1pt;padding-top:1pt;text-align:center;text-indent:0pt;border-bottom:1px solid #000000;border-top:3.0pt solid #000000;margin:0pt;"><span style="font-size:1pt;font-weight:bold;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><a id="_8874426c_05b1_4df4_80db_75336f20e1f2"></a><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">UNITED STATES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">SECURITIES AND EXCHANGE COMMISSION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">WASHINGTON, D.C. 20549</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt 0pt 4pt 0pt;"><b style="font-size:8pt;font-weight:bold;">FORM&#160;</b><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:DocumentType" id="Narr_Y5NpsQkLMEae2GNsA17-Lw"><b style="font-size:8pt;font-weight:bold;">10-K</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt;">(Mark One)</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:3pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><a id="_3e344d78_7802_456e_823c_806076848de8"></a><a id="Tc_5SxGsexB9EmXmpE7OGE2CA_1_2"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:0.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:3.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:96.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td></tr><tr><td style="vertical-align:top;width:0.17%;margin:0pt;padding:0pt;"/><td style="vertical-align:top;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:0pt;margin:0pt;"><ix:nonNumeric format="ixt:fixed-true" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:DocumentAnnualReport" id="Tc_5jkSjDqvfEKomdDDFZYGOA_1_1"><span style="font-family:'Segoe UI Symbol';font-size:9pt;">&#9745;</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:96.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt;">ANNUAL REPORT UNDER SECTION&#160;13 OR 15(d)&#160;OF THE SECURITIES EXCHANGE ACT OF 1934<span style="font-size:9pt;"> </span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-size:8pt;font-weight:bold;">For the fiscal&#160;year ended </b><ix:nonNumeric format="ixt:date-monthname-day-year-en" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:DocumentPeriodEndDate" id="Narr_bxkIsWObIEi-C17srTSUwQ"><b style="font-size:8pt;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">December&#160;31, 2024</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:3pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><a id="_05fdcb3f_afc5_4b97_98eb_b1067e599275"></a><a id="Tc_V-CwO7ozj0-C_ZJqjffpKA_1_2"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:0.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:3.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:96.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td></tr><tr><td style="vertical-align:top;width:0.17%;margin:0pt;padding:0pt;"/><td style="vertical-align:top;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:0pt;margin:0pt;"><ix:nonNumeric format="ixt:fixed-false" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:DocumentTransitionReport" id="Tc_6N51NiZrgEiBE0ExApkqfw_1_1"><span style="font-family:'Segoe UI Symbol';font-size:8pt;">&#9744;</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:96.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt;">TRANSITION REPORT UNDER SECTION&#160;13 OR 15(d)&#160;OF THE SECURITIES EXCHANGE ACT OF 1934 </p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt 0pt 6pt 0pt;"><b style="font-size:8pt;font-weight:bold;">Commission file number </b><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:EntityFileNumber" id="Narr_-hyEh7FFwUaW-HyCNI4lCQ"><b style="font-size:8pt;font-weight:bold;">001-35774</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:center;text-indent:0pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:EntityRegistrantName" id="Narr_Fwdp98Vj6EObQpoD9xrHCQ"><b style="font-weight:bold;">INNODATA&#160;INC</b></ix:nonNumeric><b style="font-weight:bold;">.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;">(Exact name of registrant as specified in its charter)</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:3pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><a id="_9981e675_f0e0_4d93_bf89_9469baf7aa07"></a><a id="Tc_OutOQgeQ4UyM3TvC6i8wQg_2_0"></a><a id="Tc_7uojR5AplEyNZBmooT8Rmg_2_1"></a><a id="Tc_oSyOjeGJbkS6nfWjK7rlmQ_3_0"></a><a id="Tc_ZcfaLtdBRky5EFECwW3deA_6_0"></a><a id="Tc_PQn_UXc-Kkeuk-ih6DdNPQ_7_0"></a><a id="Tc_AjVZD2DnZEi6gyOIyoA43Q_7_1"></a><a id="Tc_9rjzpYRX7UaIoJJs2T5Siw_9_0"></a><a id="Tc_U3ID_85hjUmz_tpkjDIQ1w_10_0"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"/><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"/></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><ix:nonNumeric format="ixt-sec:stateprovnameen" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:EntityIncorporationStateCountryCode" id="Tc_JYB5T61kvUiduYDEs086-g_1_0"><b style="font-size:8pt;font-weight:bold;">Delaware</b></ix:nonNumeric></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:EntityTaxIdentificationNumber" id="Tc_JVWyBxadQUSIIeDPfd5Uzg_1_1"><b style="font-size:8pt;font-weight:bold;">13-3475943</b></ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;">&#160;(State or other jurisdiction of </p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;">(I.R.S. Employer Identification No.)</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;">incorporation or organization)</p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:center;text-indent:0pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:center;text-indent:0pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:EntityAddressAddressLine1" id="Tc_pEsfeCX2Pk6F-cKe1v-Mcg_5_0"><b style="font-size:8pt;font-weight:bold;">55 Challenger Road</b></ix:nonNumeric></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:EntityAddressCityOrTown" id="Narr_c9GnNEJ6Mky0L5SnYfu9Bg"><b style="font-size:8pt;font-weight:bold;">Ridgefield Park</b></ix:nonNumeric><b style="font-size:8pt;font-weight:bold;">, </b><ix:nonNumeric format="ixt-sec:stateprovnameen" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:EntityAddressStateOrProvince" id="Narr_tXejO8NFv0qYWoWvc_RVOA"><b style="font-size:8pt;font-weight:bold;">New Jersey</b></ix:nonNumeric></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:EntityAddressPostalZipCode" id="Tc__I7O4ikgxU6y1YFsK2UHtQ_6_1"><b style="font-size:8pt;font-weight:bold;">07660</b></ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;">&#160;(Address of principal executive offices) </p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;">(Zip Code)</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:center;text-indent:0pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:center;text-indent:0pt;margin:0pt;">&#160;</p></td></tr><tr><td colspan="2" style="vertical-align:top;width:100%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-size:8pt;font-weight:bold;">(</b><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:CityAreaCode" id="Narr_8fA6oOobFEWjddGtEqtHmQ"><b style="font-size:8pt;font-weight:bold;">201</b></ix:nonNumeric><b style="font-size:8pt;font-weight:bold;">) </b><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:LocalPhoneNumber" id="Narr_VmVk6toZV0CUT0bHCCx5yg"><b style="font-size:8pt;font-weight:bold;">371-8000</b></ix:nonNumeric></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:100%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;">&#160;(Registrant&#8217;s telephone number) </p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:3pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr><td style="vertical-align:top;width:61.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt;">Securities registered under Section&#160;12(b)&#160;of the Exchange Act:</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"/><td style="vertical-align:top;width:36.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;">&#160;</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">&#8203;</span></p><a id="_3b92a632_8bf3_493e_a97e_4ad12645c695"></a><a id="Tc_XeqlkVK9REGkQhhEJGqmMA_0_0"></a><a id="Tc_GRFOzeDnh06cFkyPnJGtog_0_2"></a><a id="Tc_8y2bdaJTRk2GPZ_vyBm2aQ_0_4"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.0046310425%;padding-left:0pt;padding-right:0pt;width:100%;"><tr><td style="vertical-align:top;width:35.85%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt -0.25pt 0pt 35.75pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">Title of each class</b></p></td><td style="vertical-align:top;width:1.72%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:top;width:24.23%;border-bottom:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">Trading Symbol(s)</b></p></td><td style="vertical-align:top;width:1.72%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:top;width:36.45%;border-bottom:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">Name of each exchange on which registered</b></p></td></tr><tr><td style="vertical-align:top;width:35.85%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt -0.25pt 0pt 35.75pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:Security12bTitle" id="Tc_KQlNXHKSSUGwjuRtBwsmgA_1_0"><span style="font-size:8pt;">Common Stock</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:1.72%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:0pt;margin:0pt;"><span style="font-size:8pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:24.23%;border-bottom:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:TradingSymbol" id="Tc_3VODTV_luE6a2-MqIcm4Qw_1_2"><span style="font-size:8pt;">INOD</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:1.72%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"/><td style="vertical-align:top;width:36.45%;border-bottom:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><ix:nonNumeric format="ixt-sec:exchnameen" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:SecurityExchangeName" id="Tc_2Ntvvvn-UE6bJheKW3UuCQ_1_4"><span style="font-size:8pt;">The Nasdaq Stock Market LLC</span></ix:nonNumeric></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:61.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:36.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td></tr><tr><td style="vertical-align:top;width:61.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt;">Securities registered under Section&#160;12(g)&#160;of the Exchange Act:&#160;</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"/><td style="vertical-align:top;width:36.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt;">None</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:8pt;">Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule&#160;405 of the Securities Act. </span><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:EntityWellKnownSeasonedIssuer" id="Narr__yONfJx_TUqfWhxbRjFd5w"><span style="font-size:8pt;">Yes</span></ix:nonNumeric><span style="font-size:8pt;">&#160;</span><span style="font-family:'Segoe UI Symbol';font-size:8pt;">&#9745;</span><span style="font-size:8pt;"> No </span><span style="font-family:'Segoe UI Symbol';font-size:8pt;">&#9744;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:8pt;">Indicate by check mark if the registrant is not required to file reports pursuant to Section&#160;13 or Section&#160;15(d)&#160;of the Exchange Act. Yes&#160;</span><span style="font-family:'Segoe UI Symbol';font-size:8pt;">&#9744;</span><span style="font-size:8pt;"> </span><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:EntityVoluntaryFilers" id="Narr_ZMIJvTFS80eBezo3Dmzgcg"><span style="font-size:8pt;">No</span></ix:nonNumeric><span style="font-size:8pt;"> </span><span style="font-family:'Segoe UI Symbol';font-size:8pt;">&#9745;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:8pt;">Indicate by check mark whether the Registrant (1)&#160;has filed all reports required to be filed by Section&#160;13 or 15(d)&#160;of the Securities Exchange Act of 1934 during the preceding 12&#160;months (or for such shorter period that the Registrant was required to file such reports), and (2)&#160;has been subject to such filing requirements for the past 90&#160;days. </span><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:EntityCurrentReportingStatus" id="Narr_W8oqqBlTd0mkcbYFJyCQjw"><span style="font-size:8pt;">Yes</span></ix:nonNumeric><span style="font-size:8pt;"> </span><span style="font-family:'Segoe UI Symbol';font-size:8pt;">&#9745;</span><span style="font-size:8pt;"> No&#160;</span><span style="font-family:'Segoe UI Symbol';font-size:8pt;">&#9744;</span><span style="font-size:8pt;"> </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:8pt;">Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule&#160;405 of Regulation S-T (&#167;232.405 of this chapter) during the preceding 12&#160;months (or for such shorter period that the registrant was required to submit such files). </span><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:EntityInteractiveDataCurrent" id="Narr_u_iBzSyvXUWTyWDXBPlH2g"><span style="font-size:8pt;">Yes</span></ix:nonNumeric><span style="font-size:8pt;"> </span><span style="font-family:'Segoe UI Symbol';font-size:8pt;">&#9745;</span><span style="font-size:8pt;"> No&#160;</span><span style="font-family:'Segoe UI Symbol';font-size:8pt;">&#9744;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt;">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting company&#8221; and &#8220;emerging growth company&#8221; in Rule&#160;12b-2 of the Exchange Act.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:3pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td></tr><tr><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt;">Large accelerated filer&#160;<span style="font-family:'Segoe UI Symbol';">&#9744;</span></p></td><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;">Accelerated filer&#160;<span style="font-family:'Segoe UI Symbol';">&#9744;</span></p></td><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><ix:nonNumeric format="ixt-sec:entityfilercategoryen" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:EntityFilerCategory" id="Narr_sRGbVxaszUuXw1HrnSCPMA"><span style="font-size:8pt;">Non-accelerated filer</span></ix:nonNumeric><span style="font-size:8pt;">&#160;</span><span style="font-family:'Segoe UI Symbol';font-size:8pt;">&#9745;</span></p></td><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;text-indent:0pt;margin:0pt;"><span style="font-size:8pt;">Smaller reporting company</span><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:EntitySmallBusiness" id="Narr_awOb468CvEaj6TVz_EsNgg"><span style="font-family:'Segoe UI Symbol';font-size:8pt;">&#9745;</span></ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:0pt;margin:0pt;"><span style="font-size:8pt;">Emerging growth company&#160;</span><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:EntityEmergingGrowthCompany" id="Narr_IkV9fiaaRU6TxaGTTAN_VA"><span style="font-family:'Segoe UI Symbol';font-size:8pt;">&#9744;</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt;">&#160;</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:3pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 6pt 0pt;">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a)&#160;of the Exchange&#160;Act.&#160;<span style="font-family:'Segoe UI Symbol';">&#9744;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 6pt 0pt;">Indicate by check mark whether the registrant has filed a report on and attestation to its management&#8217;s assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report.&#160;<span style="font-family:'Segoe UI Symbol';">&#9744;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:8pt;">If securities are registered pursuant to Section 12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction of an error to previously issued financial statements. </span><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:DocumentFinStmtErrorCorrectionFlag" id="Narr_P_tWpeZQbkevHZPATi1jIg"><span style="font-family:'Segoe UI Symbol';font-size:8pt;">&#9744;</span></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 6pt 0pt;">Indicate by check mark whether any of those error corrections are restatements that required a recovery analysis of incentive-based compensation received by any of the registrant&#8217;s executive officers during the relevant recovery period pursuant to &#167;240.10D-1(b). <span style="font-family:'Segoe UI Symbol';">&#9744;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:8pt;">Indicate by check mark whether the registrant is a shell company (as defined in Rule&#160;12b-2 of the Act). Yes&#160;</span><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:EntityShellCompany" id="Narr_Bnt7EpfuLUmkZ8DjZDj_FQ"><span style="font-family:'Segoe UI Symbol';font-size:8pt;">&#9744;</span></ix:nonNumeric><span style="font-size:8pt;"> No&#160;</span><span style="font-family:'Segoe UI Symbol';font-size:8pt;">&#9744;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 6pt 0pt;">The aggregate market value of the registrant&#8217;s common stock held by non-affiliates of the registrant (based on the closing price reported on The Nasdaq Stock Market on June&#160;30, 2024) was $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" format="ixt:num-dot-decimal" scale="0" contextRef="As_Of_6_30_2024_2RjEAmYkekm4NIa4ns6c3g" decimals="0" name="dei:EntityPublicFloat" id="Narr_BZ3SozK9L0q95CWHL5sGWA">400,569,838</ix:nonFraction>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 6pt 0pt;">The number of outstanding shares of the registrant&#8217;s Common Stock, $.01 par value, as of February 17, 2025 was <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" format="ixt:num-dot-decimal" scale="0" contextRef="As_Of_2_17_2025_dyYhT14yDE6EJiAy3ejC_Q" decimals="INF" name="dei:EntityCommonStockSharesOutstanding" id="Narr_ywHBvIN6yUK1avKG1Rh5LA">31,299,728</ix:nonFraction></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">DOCUMENTS INCORPORATED BY REFERENCE</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;">Portions of the Registrant&#8217;s definitive proxy statement for the 2025 Annual Meeting of Stockholders are incorporated by reference in Items 10,11,12,13 and 14 of Part&#160;III of this Form&#160;10-K.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:36pt;margin:0pt;"><span style="font-size:6pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-bottom:1pt;padding-top:1pt;border-bottom:3.0pt solid #000000;border-top:1px solid #000000;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:0pt;margin:0pt;"><span style="font-size:0pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_b51765b0_b92d_4c64_977c_31d15feeca70"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">INNODATA INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Form 10-K</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">For the Year Ended December 31, 2024</b></p><a id="TOC"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">TABLE OF CONTENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_Hlk94618826"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;width:100%;"><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Page</b></p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><a href="#PARTI_671718"><b style="font-style:normal;font-weight:bold;">Part I</b></a></p></td><td style="vertical-align:top;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"/></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item1Business_820354"><span style="font-style:normal;font-weight:normal;">Item 1.</span></a></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item1Business_820354"><span style="font-style:normal;font-weight:normal;">Business</span></a></p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">4</p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item1ARiskFactors_510367"><span style="font-style:normal;font-weight:normal;">Item 1A.</span></a></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item1ARiskFactors_510367"><span style="font-style:normal;font-weight:normal;">Risk Factors</span></a></p></td><td style="vertical-align:bottom;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">15</p></td></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item1BUnresolvedStaffComments_373128"><span style="font-style:normal;font-weight:normal;">Item 1B.</span></a></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item1BUnresolvedStaffComments_373128"><span style="font-style:normal;font-weight:normal;">Unresolved Staff Comments</span></a></p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">27</p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item1CCybersecurity_66097"><span style="font-style:normal;font-weight:normal;">Item 1C.</span></a></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item1CCybersecurity_66097"><span style="font-style:normal;font-weight:normal;">Cybersecurity</span></a></p></td><td style="vertical-align:bottom;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">27</p></td></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item2Properties_639073"><span style="font-style:normal;font-weight:normal;">Item 2.</span></a></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item2Properties_639073"><span style="font-style:normal;font-weight:normal;">Properties</span></a></p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">29</p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item3LegalProceedings_777065"><span style="font-style:normal;font-weight:normal;">Item 3.</span></a></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item3LegalProceedings_777065"><span style="font-style:normal;font-weight:normal;">Legal Proceedings</span></a></p></td><td style="vertical-align:bottom;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">29</p></td></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item4MineSafetyDisclosures_177314"><span style="font-style:normal;font-weight:normal;">Item 4.</span></a></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item4MineSafetyDisclosures_177314"><span style="font-style:normal;font-weight:normal;">Mine Safety Disclosures</span></a></p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">29</p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><a href="#PARTII_120780"><b style="font-style:normal;font-weight:bold;">Part II</b></a></p></td><td style="vertical-align:bottom;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item5MarketforRegistrantsCommonEquityRel"><span style="font-style:normal;font-weight:normal;">Item 5.</span></a></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item5MarketforRegistrantsCommonEquityRel"><span style="font-style:normal;font-weight:normal;">Market for Registrant&#8217;s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities</span></a></p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">30</p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item6Reserved_887096"><span style="font-style:normal;font-weight:normal;">Item6.</span></a></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item6Reserved_887096"><span style="font-style:normal;font-weight:normal;">[Reserved]</span></a></p></td><td style="vertical-align:bottom;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">30</p></td></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item7ManagementsDiscussionandAnalysisofF"><span style="font-style:normal;font-weight:normal;">Item 7.</span></a></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item7ManagementsDiscussionandAnalysisofF"><span style="font-style:normal;font-weight:normal;">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</span></a></p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">31</p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item7AQuantitativeandQualitativeDisclosu"><span style="font-style:normal;font-weight:normal;">Item 7A.</span></a></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item7AQuantitativeandQualitativeDisclosu"><span style="font-style:normal;font-weight:normal;">Quantitative and Qualitative Disclosures about Market Risk</span></a></p></td><td style="vertical-align:bottom;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">43</p></td></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item8FinancialStatementsandSupplementary"><span style="font-style:normal;font-weight:normal;">Item 8.</span></a></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item8FinancialStatementsandSupplementary"><span style="font-style:normal;font-weight:normal;">Financial Statements and Supplementary Data</span></a></p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">43</p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item9ChangesinandDisagreementswithAccoun"><span style="font-style:normal;font-weight:normal;">Item 9.</span></a></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item9ChangesinandDisagreementswithAccoun"><span style="font-style:normal;font-weight:normal;">Changes in and Disagreements with Accountants on Accounting and Financial Disclosure </span></a> </p></td><td style="vertical-align:bottom;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">43</p></td></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item9AControlsandProcedures_741867"><span style="font-style:normal;font-weight:normal;">Item 9A.</span></a></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item9AControlsandProcedures_741867"><span style="font-style:normal;font-weight:normal;">Controls and Procedures</span></a></p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">43</p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#EvaluationofDisclosureControlsandProcedu"><span style="font-style:normal;font-weight:normal;">Evaluation of Disclosure Controls and Procedures</span></a></p></td><td style="vertical-align:bottom;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">43</p></td></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#ManagementsAnnualReportonInternalControl"><span style="font-style:normal;font-weight:normal;">Management&#8217;s Annual Report on Internal Control over Financial Reporting</span></a> </p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">44</p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item9BOtherinformation_297006"><span style="font-style:normal;font-weight:normal;">Item 9B.</span></a></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item9BOtherinformation_297006"><span style="font-style:normal;font-weight:normal;">Other Information</span></a></p></td><td style="vertical-align:bottom;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">44</p></td></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Rule10b51TradingPlans_571148"><span style="font-style:normal;font-weight:normal;">Rule 10b5-1 Trading Plans</span></a></p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">44</p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item9CHoldingForeignCompaniesAccountable"><span style="font-style:normal;font-weight:normal;">Item 9C.</span></a></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><a href="#Item9CHoldingForeignCompaniesAccountable"><span style="font-style:normal;font-weight:normal;">Disclosure Regarding Foreign Jurisdictions that Prevent Inspections</span></a></p></td><td style="vertical-align:bottom;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">44</p></td></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><a href="#PARTIII_465627"><b style="font-style:normal;font-weight:bold;">Part III</b></a></p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item10DirectorsExecutiveOfficersandCorpo"><span style="font-style:normal;font-weight:normal;">Item 10.</span></a></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item10DirectorsExecutiveOfficersandCorpo"><span style="font-style:normal;font-weight:normal;">Directors, Executive Officers and Corporate Governance</span></a></p></td><td style="vertical-align:bottom;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">45</p></td></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item11ExecutiveCompensation_531235"><span style="font-style:normal;font-weight:normal;">Item 11A.</span></a></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item11ExecutiveCompensation_531235"><span style="font-style:normal;font-weight:normal;">Executive Compensation</span></a></p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">45</p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item12SecurityOwnershipofCertainBenefici"><span style="font-style:normal;font-weight:normal;">Item 12.</span></a></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item12SecurityOwnershipofCertainBenefici"><span style="font-style:normal;font-weight:normal;">Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters</span></a></p></td><td style="vertical-align:bottom;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">45</p></td></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item13CertainRelationshipsandRelatedTran"><span style="font-style:normal;font-weight:normal;">Item 13.</span></a></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item13CertainRelationshipsandRelatedTran"><span style="font-style:normal;font-weight:normal;">Certain Relationships and Related Transactions, and Director Independence</span></a></p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">45</p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item14PrincipalAccountantsFeesandService"><span style="font-style:normal;font-weight:normal;">Item 14.</span></a></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item14PrincipalAccountantsFeesandService"><span style="font-style:normal;font-weight:normal;">Principal Accountant&#8217;s Fees and Services</span></a></p></td><td style="vertical-align:bottom;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">45</p></td></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><a href="#PARTIV_284649"><b style="font-style:normal;font-weight:bold;">Part IV</b></a></p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item15ExhibitsFinancialStatementSchedule"><span style="font-style:normal;font-weight:normal;">Item 15.</span></a></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item15ExhibitsFinancialStatementSchedule"><span style="font-style:normal;font-weight:normal;">Exhibits and Financial Statement Schedules</span></a></p></td><td style="vertical-align:bottom;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">46</p></td></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item16Form10KSummary_864079"><span style="font-style:normal;font-weight:normal;">Item 16.</span></a></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item16Form10KSummary_864079"><span style="font-style:normal;font-weight:normal;">Form 10-K Summary</span></a></p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">46</p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#SIGNATURES_267162"><span style="font-style:normal;font-weight:normal;">Signatures</span></a></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">47</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">2</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_39e81e7d_5aff_4abb_b364_440078cd3ebc"></a><a id="PARTI_671718"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">PART I</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 10pt 0pt;">Cautionary Note Regarding Forward-Looking Statements</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Disclosures in this Annual Report on Form 10-K (this &#8220;Report&#8221;) contain certain forward-looking statements within the meaning of Section 21E of the Securities Exchange Act of 1934, as amended, and Section 27A of the Securities Act of 1933, as amended. These forward-looking statements include, without limitation, statements concerning our operations, economic performance, financial condition, developmental program expansion and position in the generative AI services market. Words such as &#8220;project,&#8221; &#8220;believe,&#8221; &#8220;expect,&#8221; &#8220;can,&#8221; &#8220;continue,&#8221; &#8220;could,&#8221; &#8220;intend,&#8221; &#8220;may,&#8221; &#8220;should,&#8221; &#8220;will,&#8221; &#8220;anticipate,&#8221; &#8220;indicate,&#8221; &#8220;predict,&#8221; &#8220;likely,&#8221; &#8220;estimate,&#8221; &#8220;plan,&#8221; &#8220;potential,&#8221; &#8220;possible,&#8221; or the negatives thereof, and other similar expressions generally identify forward-looking statements.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">These forward-looking statements are based on management&#8217;s current expectations, assumptions and estimates and are subject to a number of risks and uncertainties, including, without limitation, impacts resulting from ongoing geopolitical conflicts, including between Russia and Ukraine, Hamas&#8217; attack against Israel and the ensuing conflict and increased hostilities between Hezbollah and Israel and Iran and Israel; investments in large language models; that contracts may be terminated by customers; projected or committed volumes of work may not materialize; pipeline opportunities and customer discussions which may not materialize into work or expected volumes of work; the likelihood of continued development of the markets, particularly new and emerging markets, that our services support; the ability and willingness of our customers and prospective customers to execute business plans that give rise to requirements for our services; continuing reliance on project-based work in the Digital Data Solutions (DDS) segment and the primarily at-will nature of such contracts and the ability of these customers to reduce, delay or cancel projects; potential inability to replace projects that are completed, canceled or reduced; our DDS segment&#8217;s revenue concentration in a limited number of customers; our dependency on content providers in our Agility segment; the Company&#8217;s ability to achieve revenue and growth targets; difficulty in integrating and deriving synergies from acquisitions, joint ventures and strategic investments; potential undiscovered liabilities of companies and businesses that we may acquire; potential impairment of the carrying value of goodwill and other acquired intangible assets of companies and businesses that we acquire; a continued downturn in or depressed market conditions; changes in external market factors; the potential effects of U.S. monetary policy, including the interest rate policies of the Federal Reserve; changes in our business or growth strategy; the emergence of new, or growth in existing competitors; various other competitive and technological factors; our use of and reliance on information technology systems, including potential security breaches, cyber-attacks, privacy breaches or data breaches that result in the unauthorized disclosure of consumer, customer, employee or Company information, or service interruptions; and other risks and uncertainties indicated from time to time in our filings with the Securities and Exchange Commission.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Our actual results could differ materially from the results referred to in forward-looking statements. In light of these risks and uncertainties, there can be no assurance that the results referred to in the forward-looking statements will occur,&#160;and you should not place undue reliance on these forward-looking statements. These forward-looking statements speak only as of the date hereof.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">We undertake no obligation to update or review any guidance or other forward-looking statements, whether as a result of new information, future developments or otherwise, except as may be required by the federal securities laws.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">3</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);min-height:9.2pt;"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_5bf694b1_819e_459c_b3c5_fa3ecaf9e69b"></a><a id="Item1Business_820354"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Item 1. Business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Business Overview</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Innodata Inc. (Nasdaq: INOD) (including its subsidiaries, the &#8220;Company&#8221;, &#8220;Innodata&#8221;, &#8220;we&#8221;, &#8220;us&#8221; or &#8220;our&#8221;) is a leading data engineering company. Our mission is to help the world&#8217;s most prestigious companies deliver the promise of ethical, high-performing artificial intelligence (&#8220;AI&#8221;), which we believe will contribute to a safer and more prosperous world.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Innodata was founded on a simple idea: engineer the highest quality data so organizations across broad industry segments could make smarter decisions. Today, we believe that we&#8217;re delivering the highest quality data for some of the world&#8217;s most innovative technology companies to use to train the AI models of the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">AI holds the promise that computers can perceive and understand the world, enabling products and services that would have been previously unimaginable and impossible with traditional coding. AI learns from data, and the highest-performing AI will have learned from the highest-quality data. We believe that we can contribute meaningfully by harnessing our capabilities, honed over 35 years, in collecting and annotating data at scale with consistency and high accuracy.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We&#8217;re also helping companies deploy and integrate AI into their operations and products and providing innovative AI-enabled industry platforms, helping ensure that our customers&#8217; businesses are prepared for a world in which machines augment human activity in ways previously unimaginable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Market Opportunities</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">AI Data Preparation</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 9pt 0pt;">AI applications are <i style="font-style:italic;">trained</i> with large quantities of data, unlike traditional computer applications that use languages such as Python and Java to tell computers what to do. AI applications <i style="font-style:italic;">learn</i> from the data through a series of regressions. Today&#8217;s highest performing AI applications (such as OpenAI&#8217;s ChatGPT) would never have been possible to build through traditional programming.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 9pt 0pt;">Data science teams at some of the largest technology companies are accelerating development of generative AI technologies that produce high quality text, code, and images in response to user prompts. At their core, they rely upon large language models (LLMs), which are deep neural networks (an artificial intelligence architecture) with billions of parameters and requiring massive amounts of training data to encode the essence of human language. They require fine-tuning through supervised learning and reinforcement learning from human feedback (RLHF) to render them suitable for specialized tasks and domains, to control hallucinations (the tendency of these models to make up things on the fly), and to minimize the risk that they generate unsafe or biased results.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 9pt 0pt;">In addition, companies across industry verticals are seeking to develop AI-based applications for an ever-increasing variety of use cases such as self-driving cars, surveillance systems, automated medical diagnostics, digital assistants, chatbots, content moderation, robotics, fraud detection and contract review.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 9pt 0pt;">Developing high-quality training data is critical for the AI to perform correctly, but often requires technology and skilled human resources that data science teams lack. Moreover, developing high-quality data takes up 80% of the time for most AI and ML projects.<sup style="font-size:8.25pt;line-height:100%;top:0pt;vertical-align:top;">1</sup></p><div style="font-family:'Times New Roman','Times','serif';font-size:8.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;font-style:italic;line-height:100%;top:0pt;vertical-align:top;">1</sup><i style="font-style:italic;"> Data Preparation &amp; Labeling for AI 2020</i>, Cognilytica Research (Jan. 2020)</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">4</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);min-height:9.2pt;"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Data sciences teams seek partners that can perform these data preparation functions for them at large-scale and at high quality, while using automated tools to minimize cost. As AI projects become more specialized and mission-critical and data preparation becomes increasingly complex, data science teams seek partners with deep domain knowledge and an infrastructure in which data security is assured.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We believe that Innodata is ideally situated to partner with data science teams.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In 2024, we expanded existing relationships and forged new relationships with several of the world&#8217;s large technology companies to support their efforts at building generative AI foundation models. For these companies, we are now providing or are poised to provide a range of scaled data solutions and services. Our scaled data solutions include providing instruction data sets for fine-tuning LLMs to understand prompts, to accept instruction, to converse, to apparently reason, and to perform the myriad of incredible feats that many of us have now experienced. We also provide reinforcement learning and reward modeling, services which are critical to provide the guardrails against toxic, bias and harmful responses, and model evaluation services.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For social media companies, financial services companies, and many others, we collect or create training data, annotate training data, and train AI algorithms for working with images, text, video, audio, code and sensor data.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We utilize a variety of leading third-party tools, proprietary tools and customer tools. For text annotation, we use our proprietary data annotation platform that incorporates AI to reduce cost while improving consistency and quality of output. Our proprietary data annotation platform features auto-tagging capabilities that apply to both classical and generative AI tasks. Our platform encapsulates many of the innovations we have conceived of in the course of our 35-year history of creating high-quality data.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In addition, because collecting real-world data is often impracticable (due to data privacy regulations or rarity of cohorts and outliers), we create high-quality synthetic data that maintains all of the statistical properties of real-world data, using a combination of domain specialists and machine technologies that leverage LLMs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We are presently working with five of the largest technology companies, and several of the world&#8217;s leading brands spanning multiple verticals, to enable, accelerate or enrich the services they deliver to end users around generative AI foundation models and other AI that supports chatbot assistance, facial recognition, social networking, podcasts, legal research and medical diagnostics, to name a few.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The AI data training market is estimated to be $12.7 billion in 2024, projected to grow at a CAGR of 22% to reach $92.4 billion by 2034,<sup style="font-size:8.25pt;line-height:100%;top:0pt;vertical-align:top;">2</sup> essentially proxying the enormous growth expected in AI system spending overall ($632 billion by 2028, a 29% CAGR over the 2024-2028 forecast period).<sup style="font-size:8.25pt;line-height:100%;top:0pt;vertical-align:top;">3</sup> Similarly, the global data annotation tools market was valued at $2.02 billion in 2023, and is projected to reach $23.11 &#160;billion by 2032, which is a CAGR of 31.1%.<sup style="font-size:8.25pt;line-height:100%;top:0pt;vertical-align:top;">4</sup></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">AI Model Deployment and Integration</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 5pt 0pt;">We believe that over the next decade, almost all industries will be fundamentally reinvented through the advent of high-performing AI models. We help businesses leverage the latest AI technologies to achieve their goals. We develop custom AI models (where we select the appropriate algorithms, tune hyperparameters, train and validate the models, and update the models as required). We also help businesses fine-tune their own custom versions of our proprietary models and third-party foundation models (including LLMs) to address domain-specific and customer-specific use cases.</p><div style="font-family:'Times New Roman','Times','serif';font-size:8.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">2</sup> <i style="font-style:italic;">Data Labeling Solution and Services Market,</i> FactMR (Apr. 2024)</p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">3</sup> <i style="font-style:italic;">Worldwide Artificial Intelligence Systems Spending Guide,</i> IDC (Aug. 2024) </p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">4</sup> <i style="font-style:italic;">Data Annotation Tools Market, Astute Analytica,</i> (Nov. 2024)</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">5</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);min-height:9.2pt;"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The current pace of AI innovation is accelerating. The algorithms and techniques used today will likely be obsolete in the next several years. Therefore, we have built our solutions and platforms in such a way as to enable us to incorporate new open source or proprietary software innovations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Many of our customers provide products and solutions that require intensive text data processing and analytics. For these customers, in addition to deploying and integrating AI models, we often provide a range of data engineering support services including data transformation, data curation, data hygiene, data consolidation, data extraction, data compliance, and master data management. For many of our longest-tenured customers, we continuously innovate and deploy models into their workflows and digital operations. We provide these services discretely and in conjunction with business process management (BPM) engagements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our customers span a diverse range of industries and a wide range of AI use cases, benefiting from the short time-to-value and high economic returns our AI solutions and platforms offer.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The document analytics market - a subset of the overall AI market - is expected to grow at a CAGR of 43.1% from $1.99 billion in 2024 to $49.95 billion by 2033.<sup style="font-size:8.25pt;line-height:100%;top:0pt;vertical-align:top;">5</sup> Meanwhile, overall enterprise AI spend is projected to reach $560.74 billion by 2034, up from $14.53 billion in 2024, registering a CAGR of 44.1%.<sup style="font-size:8.25pt;line-height:100%;top:0pt;vertical-align:top;">6</sup></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">AI-Enabled Industry Platforms</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our AI-enabled industry platforms address specific, niche market requirements that we believe we can innovate with AI/ML technologies. We deploy these industry platforms as software-as-a-service (SaaS) and as managed services. These platforms benefit from our technology infrastructure, our industry-specific knowledge, our strong customer relationships and experience merging technology with the business processes of our customers. To date, we have built an industry platform for medical records data extraction and transformation (which we brand as &#8220;Synodex<sup style="font-size:8.25pt;line-height:100%;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;top:0pt;vertical-align:top;">&#174;</sup>&#8221;) and an industry platform for public relations (which we brand as &#8220;Agility PR Solutions&#8221;). We are in development with an additional AI-enabled industry platform to serve financial services institutions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our Synodex industry platform transforms medical records into useable digital data organized in accordance with our proprietary data models or customer data models. At the end of 2024, we had 15 customers utilizing our Synodex platform. As we further integrate AI into the platform, we aim to address the needs of the healthcare sector, which is increasingly seeking to search, analyze, and interpret vast volumes of patient data, improve clinical documentation and make computer-assisted coding more efficient. The global artificial intelligence (AI) in healthcare market is forecast to reach a market size of $173.55 billion by 2029, up from $16.3 billion in 2022, a CAGR of 40.2%.<sup style="font-size:8.25pt;line-height:100%;top:0pt;vertical-align:top;">7</sup></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our Agility industry platform provides marketing communications and public relations professionals with the ability to target and distribute content to journalists and social media influencers world-wide and to monitor and analyze global news (print, web, radio and TV) and social media. Agility is now ranked by software review site G2 Crowd as meeting the requirements of customers better than its two largest competitors that have combined revenues of over $1 billion.<sup style="font-size:8.25pt;line-height:100%;top:0pt;vertical-align:top;">8</sup> Agility operates in the $10.57 billion media intelligence and PR software market.<sup style="font-size:8.25pt;line-height:100%;top:0pt;vertical-align:top;">9</sup></p><div style="font-family:'Times New Roman','Times','serif';font-size:8.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">5</sup> <i style="font-style:italic;">Document Analysis Market Report Overview,</i> <span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Business Research Insights</span> (Feb. 2025)</p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">6</sup> <i style="font-style:italic;">Enterprise Artificial Intelligence (AI) Market,</i> <span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Precedence Research</span> (Nov. 2024)</p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">7</sup> <i style="font-style:italic;">Artificial Intelligence In Healthcare Market,</i> <span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Binariks</span>. (Aug. 2024) </p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">8</sup> https://469676.fs1.hubspotusercontent-na1.net/hubfs/469676/Agility%20PR%20Solutions/G2/AgilityPRSolutions-G2Comparison-Feb-21-2025-1.pdf</p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">9</sup> <i style="font-style:italic;">Media Intelligence and PR Software Market Size and Forecast,</i> <span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Verified Market Research</span>, (Mar. 2024)</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">6</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s operations are presently&#160;classified and reported in three reporting segments: Digital Data Solutions (DDS), Synodex and Agility.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Competitive Strengths</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Our Data Quality</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We believe we achieve industry-leading data quality by leveraging our technology, our large staff of human experts, and the culture we have built over many years of providing high-quality data to the most demanding customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For the past nine years, we have been designing and refining our approach for combining human experts and AI to produce large-scale, highly accurate data. In our approach, AI networks automatically perform much of the required processing and human experts perform processing that the AI cannot perform at a high level of confidence. The human output is fed back into the AI networks, which, as a result, &#8220;learn&#8221; and become &#8220;smarter&#8221; over time, achieving progressively greater levels of automation while maintaining the highest levels of quality. (<i style="font-style:italic;">See &#8220;Our Technology&#8221;, below.</i>)</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our 6,000+ experts have deep domain knowledge in a wide diversity of data domains. They are selected on the basis of data acumen, analytical ability, and deep domain proficiency. (<i style="font-style:italic;">See &#8220;Our Global Delivery Framework&#8221;, below.</i>) </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our culture of quality is critical to achieving and sustaining high data quality. Our culture has been cultivated over our decades of experience performing data-related tasks for leading global companies, including the four largest global information companies with which we have 10-plus year relationships building and maintaining many of their leading data products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We maintain independent quality assurance centers that comply with the ISO 9001:2008 quality management system standards.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Our Global Delivery Framework</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We have over 6,000 employees and associates across 31 countries. Many of them have data domain expertise in various fields, including law, sciences, health, finance, and technology and hold advanced degrees. We also have access to a large population of remote staff and freelancers that we maintain in our databases. Our delivery locations are strategically located to give us access to a diverse talent base spanning multiple time zones and more than 40 languages.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We have also invested in building a proprietary resource management platform geared specifically to managing remote staff and freelancers. Prior to the global pandemic, our operating model was to almost exclusively use full-time employees working from large production centers. Propelled by the need to shift to remote working, we are presently approximately 75% cloud-based and remote, which has enabled us to lower fixed operating costs and achieve greater scalability. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Our Technology</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Over the past nine years, we have built a technology infrastructure that automates complex data annotation and other data engineering tasks. Our technology infrastructure combines advanced dataflow, orchestration and cognitive processing, and purpose-built applications used by human experts, which we refer to as &#8220;workbenches&#8221;. This infrastructure enables us to perform data annotation and other data engineering tasks at progressively higher levels of efficiency without compromising quality as it continuously learns from human experts. <span style="background:#ffffff;">Our workbenches incorporate data verification and validation algorithms to detect human expert inconsistencies and to catch difficult auto-annotation errors such as LLM hallucinations.</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">7</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our proprietary, state-of-the-art Goldengate platform is our core AI technology stack. Goldengate ingests unstructured data and performs a series of cognitive tasks to extract intelligence and create analytical data that people can use for generating inferences and powering analytical applications. It serves up low-code AI with transfer learning, orchestrating generative LLMs and deep learning-based sequence labeling models we have developed over the past nine years of deploying industrial deep neural networks as well as third-party foundation models. It integrates both with our internal systems and customer environments through application programming interfaces (&#8220;APIs&#8221;).</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Today, Goldengate serves as the foundational technology for certain of the AI projects we perform for customers, as well as the AI-under-the-hood that powers our data annotation, document intelligence and regulatory change management platforms. One of the main benefits of the platform is that it is &#8220;low-code&#8221;, so it does not require a large number of data scientists to build models or require a data science platform to orchestrate models and update models. Using Goldengate in combination with our SMEs, we are able to build high-performing, cutting-edge models that address real-world problems.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">To support our Agility industry platform, we have built a fully scalable, cloud-based infrastructure that powers a SaaS experience for global customers on a 24/7 basis. It includes (i) an AI/ML-powered big data media intelligence platform that indexes two billion media items per year, powering media monitoring, media enrichment, and media database APIs; (ii) a full targeting workflow platform that integrates media targeting, content curation, content distribution, integrated newswires, and a newsroom; (iii) a comprehensive database of more than one million global media influencers and journalists; (iv) a media monitoring and analytics engine; and (v) a workflow platform for media database research combining AI and machine learning to streamline research workflows for discovery and maintenance of our database.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In January 2023, we released a module within our Agility product called PR CoPilot&#8482; that augments the work communications professionals do to generate press releases and media outreach. It leverages proprietary Innodata technology and OpenAI&#8217;s GPT large language models. We believe PR CoPilot is the first AI writing assistant built natively into a fully-integrated PR platform.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">To support our Synodex industry platform, we have built technologies for transforming imaged medical records and HL7/FHIR electronic health records (EHR) systems into digital data conforming to proprietary insurance medical data dictionaries that span diseases and impairments, diagnostic tests, and pharmacology and support industry standard codes such as ICD-10 as well as rules engines for processing, analyzing and displaying the digital data.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Our Infrastructure</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Our infrastructure supports a range of strategies to suit our customers&#8217; requirements for data security, compliance, scalability and reliability. Our user endpoints are secured with cloud-managed security solutions consisting of firewall, IDS/IPS, vulnerability scanning and patch management engines. We host data and applications in our own data centers at our operations centers, in our customers&#8217; data centers, and on third-party cloud services including Amazon Web Services (&#8220;AWS&#8221;), Microsoft Azure (&#8220;Azure&#8221;), Oracle Cloud Infrastructure (&#8220;OCI&#8221;), and Google Cloud Platform (&#8220;GCP&#8221;) that provide the benefit of &#8220;infinite scalability&#8221; of information technology resources. Our data operations are linked by multiple redundant network connections. Our Wide Area Network &#8211; along with our Local Area Networks, Storage Area Networks, Network Attached Storage and data centers &#8211; are configured with industry standard redundancy, often with more than one backup to establish 24x7 availability. In 2024, our Wide Area Network had 99.90% uptime excluding scheduled maintenance. We encrypt all sensitive information, both at rest and in transit, to the Advanced Encryption Standard (AES) 256 or similar standard, and we employ a range of security features, including industry-leading managed firewalls, intrusion detection and prevention services. <i style="font-style:italic;">(See &#8220;Information Security&#8221;, below.)</i></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">8</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Our Breadth of Capabilities</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We are able to address customers at their highest point of need. For example, we may provide data annotation for a data sciences team at a bank that is building an AI application to manage complex loan agreements. For another banking customer with the same requirement but without access to sophisticated data sciences support, we might provide a full AI/ML solution built on our proprietary Goldengate AI platform that extracts key data points from the loan agreements and outputs normalized digital data via an API to the bank&#8217;s existing application. For still another banking customer that also lacks an application to analyze and manage the data, we might provide a data analytics platform.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Data science teams that utilize our data annotation services also often have other related needs that include data transformation, data curation, data hygiene, data consolidation, data compliance, and master data management. Unlike many of our data annotation competitors &#8211; that are essentially staffing companies &#8211; as a full-service data engineering company we are able to address these attendant requirements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Our Legacy</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We developed our capabilities and honed our approaches progressively over the last 35 years creating high-quality data for many of the world&#8217;s most demanding information companies. Approximately nine years ago, we formed Innodata Labs, a research and development center, to research, develop and apply machine learning and emerging AI to our large-scale, human-intensive data operations. In 2019, we began packaging the capabilities that emerged from our R&amp;D efforts in order to align with several fast-growing new markets and help companies use AI/ML to drive performance benefits and business insights.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our historical core competency in high-quality data, combined with these R&amp;D efforts in applied AI, created the foundation for the evolution of our offerings, which include AI Data Preparation, AI Model Deployment and Integration, and AI-Enabled Industry Platforms.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Our Culture</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We have developed a strong customer- and quality-centric culture over 35 years serving many of the world&#8217;s most successful companies that trust us with their data needs. We believe in communicating honestly, transparently and broadly. We are optimistic in the promise of technology to augmenting human initiative and talent. &#160;We embrace diversity and prize empathy and respect in our relationships with customers and colleagues alike, while at the same time, honing direct communication that best promotes optimal business outcomes for our customers. We believe our culture helps us best serve our customers and helps us attract and retain top people.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Growth Strategy</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We believe that<b style="font-weight:bold;"> </b>we are living in a unique time &#8211; that AI will soon become the &#8220;brains&#8221; of our computers, our robots and our cars; and that AI will be adopted by thousands of enterprises to deliver services and products that would have been impossible with traditional coding.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In AI, the software writes itself by learning from large amounts of data. Nowhere does the phrase &#8220;garbage in, garbage out&#8221; apply better. A data-centric approach for collection and annotation of consistent, high-quality data will separate the winners from the losers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our strategy<b style="font-weight:bold;"> </b>for growth is to leverage our 35+ year experience creating high quality data. We intend to align to and serve large, dynamic and rapidly growing markets related to the creation and commercialization of increasingly sophisticated AI and deployment of AI in businesses. Our solutions and platforms leverage the technology, human resources, and culture of fanaticism for data quality that we have developed over the past 35 years, as well as the AI/ML research and development we have invested in over the past nine years.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">9</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Key elements of our growth strategy include:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Driving New Customer Acquisition</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We believe we are still in the early stages of penetrating our addressable markets. We intend to pursue new long-term, strategic customer relationships, especially with customers with large and growing commitments to AI innovation, where we can deliver a wide range of our capabilities and have meaningful impact.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We are focused on hiring and retaining sales talent and in building a data-driven sales organization. We believe that the current sales organization is operating well and will likely enable us to achieve our near-term growth targets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Expanding Relationships with Existing Customers</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We believe we have demonstrated a clear ability to &#8220;land-and-expand&#8221; within customer accounts. Once we engage with a customer within a specific line of business and specific use cases, and the customer experiences the benefits of working with us, it will often increase the number of use cases for which it engages us and expand to additional lines of business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Continuing to Develop New Capabilities</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We intend to develop new capabilities designed around emerging customer needs and advances in AI technologies. We intend to develop additional charter customer relationships, like the ongoing relationship we formed with one of the world&#8217;s largest banks to co-develop an AI-enabled compliance platform.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Continuing to Innovate</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We believe that our ability to innovate will continue to be an important contributor to our growth and market traction. We work closely with our customers, assessing their requirements for enhancements to our existing capabilities and new capabilities with the goal of better serving them. We have well-defined roadmaps for our AI industry platforms to introduce new features and functions that we believe will enable us to generate growth by broadening the appeal of our platforms to potential new customers as well as increasing the opportunities for further expansions with existing customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We expect to fund these investments for growth from our internal resources and we may access capital through debt or equity financing.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Our Customers</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our customers include leading businesses across multiple verticals including banking, insurance, financial services, technology, digital retailing and information/media. One customer in the DDS segment generated approximately 48% of the Company&#8217;s total revenues in the fiscal year ended December 31, 2024. Another customer in the DDS segment generated approximately 10% of the Company&#8217;s total revenues in the fiscal year ended December 31, 2023. No other customer accounted for 10% or more of total revenues during these periods. Further, in the years ended December 31, 2024 and 2023, revenues from non-U.S. customers accounted for 21% and 37%, respectively, of the Company&#8217;s revenues<span style="letter-spacing:-0.1pt;">.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We have long-standing relationships with many of our customers. Our track record of delivering high-quality services helps us to solidify customer relationships. Many of our customers are recurring customers, meaning that they have continued to provide additional projects to us after our initial engagement with them.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our agreements with our customers are in many cases terminable on 30 to 90 days&#8217; notice. A substantial portion of the services we provide to our customers is subject to their requirements.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">10</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Sales and Marketing</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We market and sell our solutions and platforms directly through our professional staff, senior management and direct sales personnel operating primarily from various locations in the U.S., Canada, the United Kingdom and Europe. In addition, we are increasingly developing and expanding our use of strategic partnerships and channel relationships for the establishment and development of new and existing customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In addition to our executive-level business development professionals and sales and marketing personnel, we also deploy solutions architects, technical support experts and consultants who support the development of new customers and new customer engagements. These resources work within teams (both permanent and ad hoc) that provide support to customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our marketing department and sales professionals work together to generate leads. Our sales professionals identify and qualify prospects, securing direct personal access to decision makers at existing and prospective customers. They facilitate interactions between customer personnel and our service teams to define ways in which we can assist customers with their goals. For each prospective customer engagement, we assemble a team of our senior employees drawn from various disciplines within our Company. The team members assume assigned roles in a formalized process, using their combined knowledge and experience to understand the customer&#8217;s goals and collaborate with the customer on a solution.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our marketing organization is responsible for developing and increasing the visibility and awareness of our brand and our service offerings, defining and communicating our value proposition, generating qualified, early-stage leads and furnishing effective sales support tools.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">As part of our marketing strategy, we partner with media organizations to build awareness, establish a reputation as an industry thought leader and generate leads. Media partners include trade associations and publications, trade show producers and consulting organizations. These partnerships are particularly valuable in enterprise industries as we build our presence among digital content leaders and decision makers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Primary marketing outreach activities include content marketing, event marketing (including exhibiting at trade shows, virtual summits, conferences and seminars), direct and database marketing, public and media relations (including speaking engagements), and web marketing (including integrated marketing campaigns, search engine optimization, search engine marketing and the maintenance and continued development of external websites).</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Sales activities include lead generation, nurturing leads, engaging in discussions with prospective customers to understand their needs, demonstrating our products, designing solutions, responding to requests for proposals, and managing account and customer relationships and activities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Personnel from our solutions analysis group, our customer services group and our engineering services group closely support our direct sales effort. These individuals assist the sales force in understanding the technical needs of customers and providing responses to these needs, including demonstrations, prototypes, pricing quotations and time estimates. In addition, account managers from our customer service group support our direct sales effort by providing ongoing project-level support to our customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Competition</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Major competitors across industry verticals include Appen, CloudFactory, Surge AI, Invisible Technologies, Turing Defined Crowd, Deepen.ai, Telus, Samasource, and Scale AI, several of which are large firms with established customer bases, as well as technology service providers such as Cognizant Technology Solutions, ExlService Holdings, Inc., Genpact Limited, Infosys, and Tata Consultancy Services.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">11</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We compete by offering high-quality, competitively-priced solutions that leverage our technical platforms, IT infrastructure, offshore domain experts and economies of scale. Our competitive advantages are especially attractive to customers for undertakings that are complex, mission-critical, sizable in scope or scale, or that require high levels of information security. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Each of our industry platforms has its discrete set of competitors. Major competitors for our Synodex industry platform are Risk Righter, eNoah, Digital Owl, Human API, EIS, Release Point, Claretto, Parameds and a few BPO companies, several of which are large firms with established customer bases. We also compete with in-house personnel at existing or prospective customers who may attempt to duplicate our services in-house or use alternative approaches to fulfill their needs</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Our Agility industry platform competes with Meltwater, Cision, Muck Rack, Onclusive, and Intrado, several of which are large firms with established customer bases, as well as PR firms that provide media monitoring and analysis services and journalist and influencer databases. Our competitors also include social media listening companies and start-ups offering platforms to amplify messages by targeting social media influencers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Intellectual Property</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We depend, in part, upon our proprietary technologies and methodologies, including our Goldengate AI platform, various applications of our platforms, our proprietary data models and other intellectual property rights. We have a patent and believe that the duration of this patent is adequate relative to the expected life of its application. We rely on a combination of trade secret, license, nondisclosure and other contractual agreements and copyright and trademark laws to protect our intellectual property rights. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We enter into confidentiality agreements with our employees, contractors and customers, and limit access to and distribution of our proprietary information and that of our customers. We cannot assure that these arrangements will be adequate to deter misappropriation of our proprietary information or that we will be able to detect unauthorized use and take appropriate steps to enforce our intellectual property rights.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Information Security</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Our operations facilities in Asia and our New Jersey, USA facility are certified to information security management standard - ISO 27001:2022. We maintain a multi-layered security approach, implementing a wide range of security controls, including, but not limited to, two-factor authentication for enhanced access security, centralized patch management for timely software updates and security fixes, full-disk encryption for mobile and sensitive endpoints, advanced anti-virus protection with integrated firewall and IDS/IPS capabilities, and next-generation firewalls with intrusion detection and prevention systems (IDS/IPS) at the perimeter network layer to protect information assets and monitor network traffic.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">For handling personally identifiable information covered by HIPAA, we utilize U.S.-based, co-located data centers or HIPAA-compliant cloud infrastructure that incorporate AES-256 encryption (or equivalent) to secure data at rest and in transit. Our security posture is audited annually.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Government Regulation</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We are subject to a number of U.S. federal and state and foreign laws and regulations that relate to our business, including those governing privacy and data protection. We comply with the requirements of the United States Health Insurance Portability and Accountability Act of 1996 as amended (including by the Health Information Technology for Economic and Clinical Health Data (HITECH)) (HIPAA), the United Kingdom&#8217;s General Data Protection Regulation as tailored by the Data Protection Act 2018, the EU General Data Protection Regulation, and local laws regulating data privacy, as applicable.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">12</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Research and Development</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Our Innodata Labs researches and develops AI-based technologies that we utilize in our operations and with our customers. The Innodata Labs team is comprised of data scientists, including data scientists who have published leading papers on discrete topics in data science and have earned PhD degrees in fields such as data entity extraction.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Our product engineering teams also engage in research and development efforts focused on enhancing the functionality and utility of our AI industry platforms, addressing new use cases and developing additional innovative technologies. Timely development of new functionality to support existing and new use cases is essential to maintaining our competitive position, and we release new versions of our software on a regular basis.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Customer feedback enables us to ensure that we stay aligned to our customers&#8217; priorities and that we stay ahead of market needs. Our culture of innovation helps us attract and retain a highly motivated and talented team of AI experts and technologists. Our research and development center spans several geographical locations across North America and Asia-Pacific.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In mid-2022, we formed an Advisory Board dedicated to helping drive growth through innovation initiatives and advancing dialogue related to ethical AI and the future of AI technologies. A Chief Data Officer for Microsoft currently serves as our only Advisory Board member. We will likely consider adding additional members to our advisory board from time to time.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Environmental, Social, and Governance</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We have built a robust corporate ESG program focused on social responsibility; improving how we perform as a steward of the environment; and sustainability.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Social Responsibility</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We are inspired by the vision of fostering a future of broadly distributed, sustainable prosperity that can result from ethical AI and broad access to the benefits of AI. We launched our i-Hope Program in 2016 to help children in marginalized or economically disadvantaged communities face the challenges of an increasingly AI-driven world. Our goal of delivering the gift of computer literacy to 25,000 children by 2025 was achieved ahead of schedule in the third quarter of 2023. &#160;As a part of this initiative, one of our operating subsidiaries handed over a smart classroom, an ideation room, and an open library (with over 80,000 books) to a publicly-funded higher education institution in the Philippines.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Since 2016 we have contributed over 3,700 person-days to this and other Corporate Social Responsibility (CSR) programs. We have built and made operational 24 fully functional computer labs and smart classrooms across India, Sri Lanka, and the Philippines. As a result, approximately 42,500 children have become more technology-proficient and better equipped to seize opportunities in the AI era.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Our contributions have been well-recognized. Examples of award recognition received in 2024 through our operating subsidiaries include: for the fourth time, the Circle of Excellence Award for CSR Company of the Year at the Asia CEO Awards-2024; the Best Environmental Responsibility Initiative; Innovation in CSR Practices; Women Empowerment Initiative from National CSR Leadership Congress &amp; Awards; and Sustainable Diversity, Equality, and Inclusion award from the World Sustainability Congress.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Environmental Stewardship</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">We are also committed to conducting our business in an environmentally responsible manner that supports global efforts to mitigate climate change. By implementing practices that minimize our carbon footprint, conserve resources, and promote sustainability, we aim to be a positive force for the environment.</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">13</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">We monitor and target reductions in greenhouse gas emissions, energy consumption, and water usage for our production facilities. This data-driven approach has enabled us to improve our sustainability initiatives and share emissions data (Scopes 1, 2, and 3) with our customers.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">Across all our global operations, we recycle e-waste and paper. In India, the Philippines, and Sri Lanka, we actively support grass-roots environmental conservation initiatives in the communities in which we operate. In 2024, we planted over 5,800 saplings and seedlings in nature reserves, bringing our cumulative total to over 11,800 since 2018. This initiative includes follow-up practices to ensure the saplings receive proper care during the critical early growth phases, improving the saplings&#8217; long-term survival rates.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;background:#ffffff;">Sustainability</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">Our sustainability program is based on the following core elements: health and safety, business continuity management, information security, labor standards, anti-bribery and corruption, management engagement and social impact. Our sustainability program is backed by ISO 27001:2022 (information security) certification, policies, and employee training for these core areas.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;letter-spacing:-0.1pt;">Employees</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:12.0pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="letter-spacing:-0.1pt;">As of December 31, 2024, we employed 6,648 employees, 6,597 of which were full-time. Many of our employees hold advanced degrees in specialized fields such as law, business, technology, medicine, and social sciences. No employees are currently represented by a labor union, and we believe that our relations with our employees are satisfactory.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Corporate Offices</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="letter-spacing:-0.1pt;">Our principal executive offices are located at 55 Challenger Road, Ridgefield Park, New Jersey 07660, just outside New York City, and our telephone number is (201) 371-8000. </span>We were founded in 1988.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:12.0pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="letter-spacing:-0.1pt;">Our website is www.innodata.com; information contained on our website is not included as a part of, or incorporated by reference into, this Annual Report on Form 10-K. There we make available, free of charge, our Annual Report on Form 10-K, Quarterly Reports on Form 10-Q, Current Reports on Form 8-K, and any amendments to those reports, as soon as reasonably practicable after we electronically file that material with, or furnish it to, the Securities and Exchange Commission (&#8220;SEC&#8221;). Our SEC reports can be obtained through the Investor Relations section of our website or from the SEC at www.sec.gov.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">14</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_9c83481f_3013_48e8_accd_4a85b0390152"></a><a id="Item1ARiskFactors_510367"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Item 1A. Risk Factors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">The risk factors set forth below describe what the Company believes to be the material factors, risks, and uncertainties related to our business, financial condition, and results of operations. The risks and uncertainties set forth below, as well as other factors described elsewhere in this Form 10-K or in other filings by the Company with the SEC, could adversely affect the Company&#8217;s business, financial condition and results of operations. Additional risks and uncertainties that are not currently known to the Company or that are not currently believed by the Company to be material may also harm the Company&#8217;s business, financial condition and results of operations.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Risks </b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Related to Our Business and Operations</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">We have historically relied on a limited number of customers that have accounted for a significant portion of our revenues, and our results of operations could be adversely affected if we were to lose one or more of these significant customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We have historically relied on a limited number of customers that have accounted for a significant portion of our revenues. One customer in the DDS segment generated approximately 48% of the Company&#8217;s total revenues in the fiscal year ended December 31, 2024. Another customer in the DDS segment generated approximately 10% of the Company&#8217;s total revenues in the fiscal year ended December 31, 2023. No other customer accounted for 10% or more of total revenues during these periods. Further, in the years ended December 31, 2024 and 2023, revenues from non-U.S. customers accounted for 21% and 37%, respectively, of the Company&#8217;s revenues. We may lose one or more of these customers, or our other major customers, as a result of our failure to meet or satisfy our customer&#8217;s requirements, the completion or termination of a project or engagement, or the customer&#8217;s selection of another service provider.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In addition, the volume of work performed for our major customers may vary from year to year, and services they require from us may change from year to year. They may also request that we modify certain key terms of our agreements with them as a condition of continuing to do business with us. If the volume of work performed for our major customers varies, if the services they require from us change, or if they require price concessions, our revenues and results of operations could be adversely affected, and we may incur a loss from operations. If certain key terms of our agreements with our major customers are modified, our revenues and results of operations may be adversely affected. Our services are typically subject to customer requirements, and in many cases are terminable upon 30 to 90 days&#8217; notice. The loss of these customers or a significant variation in the volume of work performed for these customers may have a material adverse effect on our business, financial condition and results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">A portion of our services is provided on a non-recurring basis for specific projects, and our inability to replace large projects when they are completed or otherwise terminated has adversely affected, and could in the future adversely affect, our revenues and results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We provide a portion of our services for specific projects that generate revenues that terminate on completion of a defined task. While we seek, whenever possible, on completion or termination of large projects, to counterbalance periodic declines in revenues with new arrangements to provide services to the same customer or others, our inability to obtain sufficient new projects to counterbalance any decreases in such work may adversely affect our future revenues and results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">New acquisitions, joint ventures or strategic investments or partnerships could harm our operating results.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We may pursue acquisitions, joint ventures or engage in strategic investments or partnerships to grow and enhance our capabilities. There can be no assurance that we will successfully consummate any acquisitions or joint ventures, or realize profit from strategic investments, or achieve desired financial and operating results. Further, such activities involve a number of risks and challenges, including proper evaluation, diversion of management&#8217;s attention and proper integration with our current business. Accordingly, we might fail to realize the expected benefits or strategic objectives of any such venture we undertake. If we are unable to complete the kind of acquisitions for which we plan, we may not be able to achieve our planned rates of growth, profitability or competitive position in specific markets or services.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">15</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Our new customers may sunset their products because of a lack of sufficient revenues or declining revenues, or a change in their business direction, and this may result in termination of our services for these customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">As we obtain new opportunities and win new business, our customers may not generate the level of revenues that we initially anticipated at the time of signing a contract with them. Our customers may experience declining revenues with their existing products or may change their business direction. This could be due to various reasons beyond our or their control, and it could lead to termination of projects or contracts. As we normally invest in people and technology and incur other costs in anticipation of revenues, any such deviation from our expected plan or anticipated results could impact our margins and earnings.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Our success is dependent on our ability to successfully develop new services, platforms and solutions and enhance our existing services, platforms and solutions, and market acceptance of these offerings. Our success is also dependent on our ability to compete with new vendors with lean cost and flexible cost models.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The information technology and artificial intelligence (AI) industries are characterized by rapid technological change, evolving industry standards, changing customer preferences, new product and service introductions and the emergence of new vendors with lean cost and flexible cost models. Our future success will depend on our ability to successfully develop services, platforms and solutions that keep pace with changes in our addressable markets, and the acceptance of these services, platforms and solutions by our existing and target customers. We cannot guarantee that we will be successful in developing new services, platforms and solutions, addressing evolving technologies on a timely or cost-effective basis or, if these services, platforms and solutions are developed, that we will be successful in the marketplace. We also cannot guarantee that we will be able to compete effectively with new vendors offering lean cost and flexible cost models, or that products, services or technologies developed by others will not render our services, platforms and solutions non-competitive or obsolete. Our failure to address these developments could have a material adverse effect on our business, results of operations and financial condition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">We operate in highly competitive markets. While we invest in developing and pursuing new services, platforms and solutions, our profitability could be reduced if these services, platforms and solutions do not yield the profit margins we expect, or if the new offerings do not generate the planned revenues.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The markets for our services, platforms and solutions are highly competitive. Some of our competitors have longer operating histories, significantly greater financial, human, technical and other resources, and greater name recognition than we do. There are relatively few barriers preventing companies from entering the markets in which we operate. As a result, new market entrants also pose a threat to our business. We also compete with in-house personnel at current and prospective customers who may attempt to duplicate our offerings using their own personnel.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We have made and continue to make significant investments towards building out new capabilities to pursue growth, including, for example, our investments in large language models. These investments increase our costs, and if these new capabilities do not yield the revenues or profit margins we expect, and we are unable to grow our business and revenue proportionately, our profitability may be reduced, or we may incur losses. If we are not able to compete effectively in the markets we serve or if we are not able to successfully develop new services, platforms and solutions, our revenues and results of operations could be adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">We depend on third-party technology in the provision of our services.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We rely upon certain software that we license from third parties, including software integrated with our internally developed software used in the provision of our services. These third-party software licenses may not continue to be available to us on commercially reasonable or competitive terms, if at all. The loss of, or inability to maintain or obtain any of these software licenses, could result in delays in the provision of our services until we develop, identify, license and integrate equivalent software. Any delay in the provision of our services could damage our business and adversely affect our results of operations. In addition, our Company utilizes third party data centers to serve our customers and generate revenue. Any disruption in the provision of services from these data centers could result in loss of revenue, customer dissatisfaction and loss of customers.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">16</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Our Agility segment relies on third parties to provide certain content and data for our solutions. The cessation by third parties to provide their content has adversely affected, and could in the future adversely affect, our revenue and results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our Agility segment relies on third parties to provide or make available certain data for our information databases and our news and social media monitoring service. These third parties, in the past, have restricted access to certain content and have ceased providing content, and they may not renew agreements to provide content to us or may increase the price they charge for their content. Additionally, the quality of the content provided to us may not be acceptable to us and we may need to enter into agreements with additional third parties. In the event we are unable to use or have access to such third-party content or are unable to enter into agreements with new third parties, current customers may discontinue their relationship with us, and it may be difficult to acquire new customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Our businesses are reliant on key employees, and we may face high attrition in our talent. We may not be able to replace displaced talent with new talent on a timely basis or with equivalent skill sets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We are, to a considerable degree, reliant on the continuing leadership of our Chief Executive Officer and would be materially and adversely affected should he unexpectedly cease to be employed by us. In addition, our businesses are subject to fierce competition for talent, which could result in high attrition of our employees, or we may not be able to find the requisite talent to operate our businesses. A significant increase in the attrition rate among employees with specialized skills could decrease our operating efficiency and productivity. Our failure to attract, train and retain personnel with the qualifications necessary to fulfill the needs of our existing and future customers or to assimilate new employees successfully could have a material adverse effect on our business, results of operations, financial condition and cash flows. In addition, fluctuations in our business may require that we lay off employees with possible negative effects on employee morale. We try to minimize these risks by actively promoting employee relationships and offering competitive salaries, but if we cannot mitigate these risks, our business and our operating performance could be adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">We operate from multiple locations and our employees are very diverse, so we have significant coordination risks.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We are headquartered in Ridgefield Park, New Jersey, just outside New York City. We primarily operate from the Philippines, India, Sri Lanka, Canada, the United Kingdom, Israel, the United States, and Germany. Our employees are geographically dispersed, as well as culturally diverse. Our personnel need to work together to successfully execute our business plans and we invest in various measures to improve coordination and teamwork. Should we fail in these efforts, our ability to execute our business plans may be adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Our intellectual property rights are valuable and if we are unable to protect them or are subject to intellectual property rights claims, our business may be harmed.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our intellectual property rights include certain&#160;trademarks, trade secrets, domain name registrations, and a patent. Although we take precautions to protect our intellectual property rights, these efforts may not be sufficient or effective. If we are unable to protect our intellectual property, we may experience difficulties in achieving and maintaining brand recognition.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">17</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Disruptions in telecommunications, system failures, data corruption or virus attacks could harm our ability to execute our global resource model, which could result in customer dissatisfaction and a reduction of our revenues.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We use a distributed global resource model. Our North American workforce provides services from the U.S. and Canada, and the balance of our workforce provides services from the Philippines, India, Sri Lanka, the United Kingdom, Israel and Germany. Our global facilities are linked with a telecommunications network that uses multiple service providers. We may not be able to maintain active voice and data communication between our various facilities and our customers&#8217; sites at all times due to disruptions in these networks, system failures, data corruption or virus attacks. Any significant failure in our ability to communicate, or the availability of our platforms, could result in a disruption in our business, which could hinder our performance, or our ability to complete customer projects on time, or provide services to our customers. This, in turn, could lead to customer dissatisfaction and have an adverse effect on our business, results of operations and financial condition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Even though we have implemented network security measures, our information technology systems may be vulnerable to computer viruses, cyber-attacks, break-ins and similar disruptions from unauthorized tampering or intentional and unintentional disclosure of sensitive and /or confidential personal information by employees and non-employees. Additionally, the Company may not be able to effectively identify and resolve such issues on a timely basis. The occurrence of any of the events described above could result in interruptions, delays, the loss or corruption of data, cessations in the availability of systems or liability under privacy laws or contracts, each of which could have a material adverse effect on our financial position and results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">The international nature of our operations subjects us to risks inherent in doing business on an international level, any of which could increase our costs and hinder our growth.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We do business on an international level, with a major portion of our operations carried on in India, the Philippines, and Sri Lanka, in addition to our operations in Canada, Germany, Israel, the United Kingdom, and the United States, while our headquarters are in the United States and our customers are primarily located in North America and Europe. While we do not depend on significant revenues from sources internal to the Asian countries in which we operate, we are nevertheless subject to certain adverse economic factors relating to overseas economies generally, including inflation, external debt, a negative balance of trade and underemployment. In certain of the countries in which we operate, tax authorities have exercised, and may continue to exercise, significant discretionary and arbitrary powers to make tax demands or decline to refund payments that may be due to us as per tax returns. Other risks associated with our international operations and business activities include:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">difficulties in staffing international projects and managing international operations, including overcoming logistical and communications challenges;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">local competition, particularly in the Philippines, India and Sri Lanka;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">imposition of public sector controls;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">trade and tariff restrictions;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">price or exchange controls;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">currency control regulations;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">foreign tax consequences;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">data privacy laws and regulations;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">evolving regulation of artificial intelligence;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">intellectual property laws and enforcement practices;</span></td></tr></table></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">18</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">labor disputes and related litigation and liability;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">limitations on repatriation of earnings; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">changing laws and regulations, occasionally with retroactive effect.</span></td></tr></table><div style="margin-top:10pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">One or more of these factors could adversely affect our business, financial condition, and results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Political uncertainty, political unrest, terrorism, and natural calamities in the Philippines, India, Sri Lanka and Israel could adversely affect business conditions in those countries, which in turn could disrupt our business and adversely impact our results of operations and financial condition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our operations located in India, Israel, the Philippines and Sri Lanka are in countries that remain vulnerable to disruptions from political uncertainty, political unrest, terrorist acts, and natural calamities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Any damage to our network and/or information systems would damage our ability to provide services, in whole or in part, and/or otherwise damage our operations&#160;and could have an adverse effect on our business, financial condition or results of operations. Further, political tensions and escalation of hostilities in any of these countries could adversely affect our operations in these countries and therefore adversely affect our revenues and results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">While the October 2023 Hamas attack against Israel and the ensuing conflict and increased hostilities between Hezbollah and Israel and Iran and Israel has not to date negatively impacted our operations in Israel, continued or escalating conflict in the region could disrupt our operations in Israel and could have a broader impact that extends into other markets where we do business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We are unable to predict whether acts of international terrorism, war or other military actions involving the countries in which we do business will result in any long-term commercial disruptions or if such involvement or responses will have any long-term material adverse effect on our business, results of operations, or financial condition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Terrorist attacks or a war could adversely affect our results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Terrorist attacks and other acts of violence or war could affect us or our customers by disrupting normal business practices for extended periods of time and reducing business confidence. In addition, acts of violence or war may make travel more difficult and may effectively curtail our ability to serve our customers&#8217; needs, any of which could adversely affect our results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Our global operations expose us to risks associated with public health crises. Public health crises or outbreaks of pandemics could disrupt our operations and materially and adversely affect our results of operations and financial condition.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We use a distributed global resource model, which exposes us to risks associated with public health crises, such as pandemics and epidemics. Widespread outbreaks of a pandemic have created significant global economic downturn, disrupted global trade and supply chains, adversely impacted many industries, and contributed to significant volatility in financial markets. A widespread public health crisis or an outbreak of a pandemic in one or more of the geographic areas in which we operate could affect our ability to provide services to our customers and adversely affect our results of operations and financial condition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">We may face various risks associated with shareholder activists or shareholder demands for better performance<span style="font-style:italic;">.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">There is no assurance that we will not be subject to shareholder activism or demands. Such activities could interfere with our ability to execute our strategic plan, be costly and time-consuming, disrupt our operations, and divert the attention of management and our employees.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">19</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Our reputation could be damaged, or our profitability could suffer if we do not meet the controls and procedures in respect of the services, platforms and solutions we provide to our customers, or if we contribute to our customers&#8217; internal control deficiencies.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our customers may perform audits or require us to perform audits, provide audit reports or obtain certifications with respect to the controls and procedures that we use in the performance of services for such customers, especially when we process data or information belonging to them. Our ability to acquire new customers and retain existing customers may be adversely affected and our reputation could be harmed if we receive a qualified opinion, or if we cannot obtain an appropriate certification or opinion with respect to our controls and procedures in connection with any such audit in a timely manner. Additionally, our profitability could suffer if our controls and procedures were to fail or impair our customers&#8217; ability to comply with their own internal control requirements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">In the past we have determined that our disclosure controls and procedures were not effective. If in the future we again determine that our disclosure controls and procedures are not effective, this could cause investors to lose confidence in our reported financial information and have a negative effect on the market prices for our common stock.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We are required to maintain disclosure controls and procedures designed to provide reasonable assurance that material information required to be disclosed by us in the reports we file or submit under the Securities Exchange Act of 1934 is recorded, processed, summarized and reported within the time periods specified in the SEC&#8217;s rules and forms, and that the 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. We performed an evaluation, under the supervision and with the participation of our 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 of December 31, 2024 and concluded that our disclosure controls and procedures were effective as of December 31, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">If in the future we determine that our disclosure controls and procedures are ineffective, it could restrict our ability to access the capital markets, require significant resources to correct, subject us to fines, penalties or judgments, harm our reputation or otherwise cause a decline in investor confidence and cause a decline in the market price of our common stock.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Risks Related to Our Contracts</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">A portion of our revenue is generated from projects that we characterize as recurring in nature. Projects that we characterize as recurring are nevertheless subject to termination.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our operating performance is materially dependent on the continuation of these projects. However, we are exposed to the risks that these projects may not be renewed by our customers or they could be terminated by our customers and we may not be able to replace these terminated projects with new recurring projects with similar profitability or customers may ask for a price reduction, which could adversely affect our revenue and results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Our solutions for the Agility segment are sold pursuant to subscription agreements, and if subscription customers elect either not to renew these agreements, or to renew these agreements for less expensive services, our revenues and results of operations will be adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our Agility segment derives its revenues primarily from subscription arrangements. Our customers may choose not to renew subscription agreements when they expire or may renew them at lower prices or for a significantly narrower scope of work. If large numbers of existing subscription customers do not renew these agreements or renew these agreements on terms less favorable to us, and if we cannot replace or supplement those non-renewals with new subscription agreements generating the same or greater levels of revenue, our revenues and results of operations will be adversely affected.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">20</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 9pt 0pt;">If our customers are not satisfied with our services, they may terminate our contracts with them or our services and we may suffer reputational damage, which could have an adverse impact on our business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 9pt 0pt;">Our business model depends in large part on our ability to attract additional work from our base of existing customers. Our business model also depends on the relationships our account teams develop with our customers so that we can understand our customers&#8217; needs and deliver solutions and services that are tailored to those needs. If a customer is not satisfied with the quality of work performed by us, or with the type of services or solutions delivered, then we could incur additional costs to address the situation, the profitability of that work might be impaired, and the customer&#8217;s dissatisfaction with our services could damage our ability to obtain additional work from that customer. In particular, customers who are not satisfied might seek to terminate existing contracts, which could mean that we could incur costs for the services performed with no associated revenue upon termination of a contract. This could also direct future business to our competitors. In addition, negative publicity related to our customer services or relationships, regardless of its accuracy, may further damage our business by affecting our reputation and our ability to compete for new contracts with current and prospective customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 9pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Risks Related to Financial Performance or General Economic Conditions</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 9pt 0pt;">Debt under our Revolving Credit Facility has a variable rate of interest that is based on SOFR which may have consequences for us that cannot be reasonably predicted and may increase our cost of borrowing in the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;text-indent:36pt;margin:0pt 0pt 9pt 0pt;"><span style="font-weight:normal;">Debt outstanding under our Revolving Credit Facility has a variable rate of interest that is based on the secured overnight financing rate (&#8220;SOFR&#8221;) which may have consequences for us that cannot be reasonably predicted and may increase our cost of borrowing in the future. The future performance of SOFR cannot be predicted based on historical performance and the future level of SOFR may have little or no relation to historical levels of SOFR. Any patterns in market variable behaviors, such as correlations, may change in the future. Hypothetical or historical performance data are not indicative of, and have no bearing on, the potential performance of SOFR.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 9pt 0pt;">Our Revolving Credit Facility contains restrictive covenants that may impair our ability to conduct business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;text-indent:36pt;margin:0pt 0pt 9pt 0pt;"><span style="font-weight:normal;">Our Revolving Credit Facility contains operating covenants and financial covenants that may in each case limit management&#8217;s discretion with respect to certain business matters. For example, the Revolving Credit Facility contains a financial covenant that requires us, on a consolidated basis, to maintain a fixed charge coverage ratio of not less than 1.10 to 1.00. As a result of these covenants and restrictions, we may be limited in how we conduct our business, and we may be unable to raise additional debt or other financing to compete effectively or to take advantage of new business opportunities. The terms of any future indebtedness we may incur could include more restrictive covenants. Failure to comply with such restrictive covenants may lead to default and acceleration under our Revolving Credit Facility and may impair our ability to conduct business. We may not be able to maintain compliance with these covenants in the future and, if we fail to do so, there are no assurances that we will be able to obtain waivers from the lender and/or amend the covenants.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 9pt 0pt;">A large portion of our accounts receivable is payable by one customer; the inability of this customer to pay its obligations could adversely affect our results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 9pt 0pt;">One customer accounts for a large percentage of our accounts receivable. If this customer was unable, or refused, for any reason, to pay our accounts receivable, our financial condition and results of operations could be materially adversely affected. As of December 31, 2024, 61% or $16.6 million of our accounts receivable was due from two customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 9pt 0pt;">In addition, we evaluate the financial condition of our customers prior to extending credit to them. We maintain specific allowances against doubtful receivables. Actual losses on customer balances could differ from those that we currently anticipate and, as a result, we might need to adjust our allowances. There is no guarantee that we will accurately assess the creditworthiness of our customers. Macroeconomic conditions could also result in financial difficulties, including limited access to the credit markets, insolvency or bankruptcy, for our customers, and, as a result, could cause customers to delay payments to us, request modifications to their payment arrangements that could increase our receivables balance, or default on their payment obligations to us. If we are unable to timely collect from our customers, our cash flows could be adversely affected.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">21</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Quarterly fluctuations in our revenues and results of operations could make financial forecasting difficult and could negatively affect our stock price.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We have experienced, and expect to continue to experience, significant fluctuations in our quarterly revenues and results of operations. During the past eight quarters, our net income (loss) ranged from net income of approximately $17.4 million in the third quarter of 2024 to a loss of approximately $2.1 million in the first quarter of 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We experience fluctuations in our revenue and results of operations as we replace and begin new projects, which may have some normal start-up delays, or we may be unable to replace a project entirely or on terms that are as attractive to us as the project that is being replaced. These and other factors may contribute to fluctuations in our results of operations from quarter to quarter.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">A high percentage of our operating expenses, particularly personnel and rent, are relatively fixed in advance of any particular quarter. As a result, unanticipated variations in the number and timing of our projects, or in employee wage levels and utilization rates, may cause us to significantly underutilize our production capacity and employees, resulting in significant variations in our operating results in any particular quarter, and have resulted in losses.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Weakness in the global economy, and in particular in the United States, Europe and the United Kingdom, could negatively impact our revenue and operating results.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The United States, Europe, the United Kingdom and other economies may suffer from uncertainty, volatility, disruption, and other adverse conditions, such as inflation, and these conditions have adversely impacted and may continue to adversely impact the business community and the financial markets. Adverse economic and financial market conditions may negatively affect our customers and our markets, thereby negatively impacting our revenue and operating results. For example, weak market conditions have extended, and could continue to extend, the length of our sales cycle and cause potential customers to delay, defer, or decline to make purchases of our services, platforms, and solutions due to uncertainties surrounding the future performance of their businesses, limitations on their expenditures due to internal budget constraints, and the adverse effects of the economy on their business and financial condition. As a result, if economic and financial market conditions weaken or deteriorate, then our revenue and operating results, including our ability to grow and expand our business and operations, could be materially and adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Pricing pressures could negatively impact our revenues and operating results.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Due to the intense competition involved in outsourcing and information technology services, we generally face pricing pressures from our customers due to competition from other companies in our markets. Our ability to maintain or increase pricing is restricted as customers generally expect to receive volume discounts or special pricing incentives as we do more business with them; moreover, our large customers may exercise pressure for discounts outside of agreed terms.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Our profitability could suffer if we are not able to maintain pricing on our existing projects and win new projects at appropriate margins. If our pricing structures do not accurately anticipate the cost and complexity of performing our services and providing our platforms and solutions, then our contracts could be unprofitable.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our profit margin, and therefore our profitability, is dependent on the rates we are able to charge for our services, platforms and solutions measured against the costs of providing the service, platform or solution. If we are not able to maintain pricing on our existing services, platforms and solutions and win new projects at profitable margins, or if we underestimate the costs or complexities of new projects and incur losses, our profitability could suffer. The amounts we are able to recover for our services, platforms and solutions are affected by a number of factors, including competition, volume fluctuations, productivity of employees and processes, the value our customer derives from our services, platforms and solutions and general economic and political conditions.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">22</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Furthermore, we provide services and solutions either on a time-and-materials basis or on a fixed-price basis. Our pricing is highly dependent on our internal forecasts and predictions about our projects, which might be based on limited data and could turn out to be inaccurate. If we do not accurately estimate the costs and timing for completing projects, our contracts could prove unprofitable for us or yield lower profit margins than anticipated.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">We may not be able to obtain price or volume increases that are necessary to offset the effect of wage inflation and other government mandated cost increases.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We have experienced wage inflation and other government mandated cost increases in the Asian countries where we have the majority of our operations. In addition, we may experience adverse fluctuations in foreign currency exchange rates. These global events have put pressure on our profitability and our margins. Although we have tried to partially offset wage increases, foreign currency fluctuations and other such increases through price increases and improving our efficiency, we cannot ensure that we will be able to continue to do so in the future, which could negatively impact our results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Our international operations subject us to currency exchange fluctuations, which could adversely affect our results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Although most of our revenues are denominated in U.S. dollars, a significant portion of our revenues are denominated in Canadian dollars, Pound Sterling and Euros. In addition, a significant portion of our expenses, primarily labor expenses in the Philippines, India, Sri Lanka, Germany, Canada, the United Kingdom and Israel, are incurred in the local currencies of the countries in which we operate. For financial reporting purposes, we translate all non-U.S. denominated transactions into U.S. dollars in accordance with accounting principles generally accepted in the United States (U.S. GAAP). Fluctuations in the value of these currencies relative to the U.S. dollar have in the past and could in the future continue to have a direct impact on our revenues and our results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Philippines, India and Sri Lanka have, at times, experienced high rates of inflation, as well as major fluctuations in the exchange rate between such foreign currencies and the U.S. dollar.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We are also subject to fluctuations in exchange rates that affect the value of funds held by our foreign subsidiaries.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Although we selectively undertake hedging activities to mitigate certain of these risks, our hedging activities may not be effective and may result in losses. See Note 16, &#8220;Derivatives,&#8221; to the consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">In the event that the governments of India or the Philippines or the government of another country changes its tax policies, rules and regulations, our tax expense may increase and affect our effective tax rates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We are subject to income taxes in both the U.S. and numerous foreign jurisdictions. We are subject to the continual examination by tax authorities in India and in the Philippines, and we assess the likelihood of outcomes resulting from these examinations to determine the adequacy of its provision for income taxes. Although we believe our tax estimates are reasonable, the final determination of tax audits could be materially different from what is reflected in historical income tax and indirect tax provisions and accruals, and could result in a material effect on our income tax provision, indirect tax expenses, net income or cash flows in the period or periods for which that determination is made. If additional taxes are assessed, it could have an adverse impact on our financial results.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In addition, changes in the tax rates, tax laws or the interpretation of tax laws in the jurisdictions where we operate, could affect our future results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Unfavorable rulings or recoveries in tax examinations could have a material impact on the consolidated operating results of the period in which the rulings or recovery occurs.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">23</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 8pt 0pt;">If tax authorities in any of the jurisdictions in which we operate contest the manner in which we allocate our profits, our net loss could be higher.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">A significant portion of the services we provide to our customers are provided by our Asian subsidiaries located in different jurisdictions. Tax authorities in some of these jurisdictions have from time to time challenged the manner in which we allocate our profits among our subsidiaries, and we may not prevail in any future challenge of this type. If such a challenge were successful, our worldwide effective tax rate could increase, thereby decreasing our profitability.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 8pt 0pt;">The expiration or termination of our preferential tax rate incentives could adversely affect our results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">Two of our foreign subsidiaries are subject to preferential tax rates. This tax incentive provides that we pay reduced income taxes with respect to those jurisdictions for a fixed period of time. An expiration or termination of these incentives could increase our worldwide effective tax rate, or increase our tax expense, thereby decreasing our net income and adversely affecting our results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 8pt 0pt;">Our earnings may be adversely affected if we change our intent not to repatriate our foreign earnings and profits or if such earnings and profits become subject to U.S. tax on a current basis.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">A significant portion of our operations are conducted outside the U.S. Despite our access to the overseas earnings and the resulting toll charge, we intend to indefinitely reinvest the foreign earnings in our foreign subsidiaries on account of the foreign jurisdiction withholding tax that the Company has to incur on the actual remittances. Unremitted earnings of foreign subsidiaries amounted to approximately $53.9 million at December 31, 2024. If such earnings are repatriated in the future, or are no longer deemed to be indefinitely reinvested, the Company would have to accrue as a liability the applicable amount of foreign jurisdiction withholding taxes associated with such remittances.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 8pt 0pt;">It is unlikely that we will pay dividends.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">We have not paid any cash dividends since our inception and do not anticipate paying any cash dividends in the foreseeable future. We expect that our earnings, if any, will be used to finance our growth.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Risks Related to Litigation and Regulatory Matters</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">We are the subject of continuing litigation, including litigation by certain of our former employees and a putative class action. We are also subject to regulatory investigations.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">In 2008, a judgment was rendered in the Philippines against a Philippine subsidiary of the Company that is no longer active and purportedly also against Innodata Inc., in favor of certain former employees of the Philippine subsidiary. The potential payment amount aggregates to approximately $5.6 million, plus legal interest that accrued at 12% per annum from August 13, 2008 to June 30, 2013, and thereafter accrued and continues to accrue at 6% per annum. The potential payment amount as expressed in U.S. dollars varies with the Philippine peso to U.S. dollar exchange rate. In December 2017, a group of 97 of the former employees of the Philippine subsidiary indicated that they proposed to record the judgment as to themselves in New Jersey. In January 2018, in response to an action initiated by Innodata Inc., the United States District Court for the District of New Jersey (&#8220;USDC&#8221;) entered a preliminary injunction that enjoins these former employees from pursuing or seeking recognition or enforcement of the judgment against Innodata Inc. in the U.S. during the pendency of the action and until further order of the USDC. In June 2018, the USDC entered a consent order administratively closing the action subject to return of the action to the active docket upon the written request of Innodata Inc. or the former employees, with the USDC retaining jurisdiction over the matter and the preliminary injunction remaining in full force and effect. The principal relevant cases in the Philippines are Court of Appeals Case Nos. CA-G.R. SP No. 93295 Innodata Employees Association (IDEA), Eleanor Tolentino, et al. vs. Innodata Philippines, Inc., et al., and CA-G.R. SP No. 90538 Innodata Philippines, Inc. vs. Honorable Acting Secretary Manuel G. Imson, et al. (28 June 2007), the Department of Labor and Employment National Labor Relations Commission, Republic of the Philippines (NLRC-NCR-Case No.07-04713-2002, et al., Innodata Employees Association (IDEA) and Eleanor A. Tolentino, et al. vs. Innodata Philippines, Inc., et al), and the Department of Labor and Employment Office of the Secretary of Labor and Employment, Republic of the Philippines (Case No. OS-AJ-0015-2001, In Re: Labor Dispute at Innodata Philippines, Inc.). The U.S. District Court action is Civil Action No.: 2:17-cv-13268-SDW-LDW Innodata Inc. v. Myrna C. Augustin-Simon; et al.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">24</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In February 2024, David D&#8217;Agostino filed a putative class action captioned D&#8217;Agostino v. Innodata Inc., et al., in the United States District Court for the District of New Jersey against the Company and certain of its current and former officers (the &#8220;Securities Class Action&#8221;). In October 2024, the presiding judge in the Securities Class Action appointed a lead plaintiff and approved the lead plaintiff&#8217;s choice of counsel. In January 2025, an amended Securities Class Action complaint was filed in the Securities Class Action. The complaint asserts claims under Sections 10(b) and 20(a) of the Securities Exchange Act of 1934, as amended, and Rule 10b-5 promulgated thereunder, and it alleges, among other things, that the defendants made false and misleading statements regarding the Company&#8217;s artificial intelligence (&#8220;AI&#8221;) technology and services. The plaintiff seeks unspecified damages, fees, interest, and costs. The Company intends to defend itself vigorously, but the Company cannot predict the outcome of the action at this time and can give no assurance that the asserted claims will not have a material adverse effect on its financial position or results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Subsequently, in March 2024, the Company received a letter from the staff of the SEC, Division of Enforcement, requesting the Company preserve certain documents and data; in August 2024 the Company received a grand jury subpoena from the U.S. Department of Justice (&#8220;DOJ&#8221;) requesting the Company to produce certain documents; and in September 2024 the Company received a subpoena from the SEC requesting certain information. The Company believes that the SEC and DOJ requests are related to the conduct alleged in the Securities Class Action, and is cooperating with these investigations. The Company is unable to predict when these matters will be resolved or what further action, if any, the SEC or DOJ may take in connection with it.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We are also subject to various other legal proceedings and claims that have arisen in the ordinary course of business. While we believe that we have adequate reserves for the losses that we believe are probable and can be reasonably estimated, the ultimate results of legal proceedings and claims cannot be predicted with certainty.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">While we currently believe that the ultimate outcome of these proceedings will not have a material adverse effect on our consolidated financial position or overall trends in our consolidated results of operations, litigation is subject to inherent uncertainties. Substantial recovery against us in the above-referenced Philippines action could have a material adverse impact on us, and unfavorable rulings or recoveries in the putative class action or other proceedings could have a material adverse impact on the consolidated operating results of the period in which the ruling or recovery occurs. In addition, our estimate of the potential impact on our consolidated financial position or overall consolidated results of operations for the above-referenced legal proceedings could change in the future. See &#8220;Legal Proceedings&#8221;.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Risks Related to Laws and Regulations</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Governmental and customer focus on data security could increase our costs of operations. In addition, any incident in which we fail to protect our customer&#8217;s information against security breaches may result in monetary damages against us, and termination of our engagement by our customer, and may adversely impact our results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Certain laws and regulations regarding data privacy and security affecting our customers impose requirements regarding the privacy and security of information maintained by these customers, as well as notification to persons whose personal information is accessed by an unauthorized third party. As a result of any continuing legislative initiatives and customer demands, we may have to modify our operations with the goal of further improving data security. The cost of compliance with these laws and regulations is high and is likely to increase in the future. Any such modifications may result in increased expenses and operating complexity, and we may be unable to increase the rates we charge for our services sufficiently to offset these increases. In addition, as part of the services we perform, we have access to confidential customer data, including personal data. As a result, we are subject to numerous laws and regulations designed to protect this information. We may also be bound by certain customer agreements to use and disclose confidential customer information in a manner consistent with the privacy standards under regulations applicable to such customers. Any failure on our part to comply with these laws and regulations can result in negative publicity and diversion of management&#8217;s time and effort and may subject us to significant liabilities and other penalties.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">25</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">If customer confidential information is inappropriately disclosed due to a breach of our computer systems, system failures or otherwise, or if any person, including any of our employees, negligently disregards or intentionally breaches controls or procedures with which we are responsible for complying with respect to such data or otherwise mismanages or misappropriates that data, we may have substantial liabilities to our customers. Any incidents with respect to the handling of such information could subject us to litigation or indemnification claims with our customers and other parties. In addition, any breach or alleged breach of our confidentiality agreements with our customers may result in termination of their engagements, resulting in associated loss of revenue and increased costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Our business is subject to applicable laws and regulations relating to foreign corrupt practices, the violation of which could adversely affect our operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We must comply with all applicable anti-bribery laws and regulations of the U.S. and other jurisdictions where we operate. For example, we are subject to the&#160;U.S. Foreign Corrupt Practices Act and the U.K. Bribery Act of 2010 relating to corrupt and illegal payments to government officials and others. Although we have policies and controls in place that are designed to ensure compliance with these laws and regulations, it is possible that an employee or an agent acting on our behalf could fail to comply with applicable laws and regulations, and due to the complex nature of the risks, it may not always be possible for us to ascertain compliance with such laws and regulations. In such event, we could be exposed to civil penalties, criminal penalties and other sanctions, including fines or other unintended punitive actions, and we could incur substantial legal fees and related expenses. In addition, such violations could damage our business and/or our reputation. All of the foregoing could have a material adverse effect on our financial condition and operating results.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">The legal and regulatory landscape applicable to artificial intelligence (AI) is evolving and changes to existing laws and regulations or new laws and regulations could adversely affect our business, financial condition and results of operations.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We use machine learning and artificial intelligence (AI) technologies in our services, platforms and solutions, and we are making investments in expanding our artificial intelligence capabilities, including ongoing deployment and improvement of existing machine learning and AI technologies, as well as developing new product features using AI technologies, including, for example, generative AI. The laws and regulations applicable to AI continue to develop and evolve. The use of AI technologies in our services, platforms and solutions may result in new governmental or regulatory scrutiny, ethical concerns, legal liability, or other complications that could adversely affect our business, financial condition, or results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Anti-outsourcing legislation, if adopted, could adversely affect our business, financial condition and results of operations and impair our ability to service our customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The issue of outsourcing of services abroad by U.S. companies is a topic of political discussion in the U.S. While no substantive anti-outsourcing legislation has been adopted to date, given the ongoing debate over this issue, the introduction of such legislation is possible. If introduced, our business, financial condition and results of operations could be adversely affected and our ability to service our customers could be impaired.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Our growth could be hindered by visa restrictions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Occasionally, we have employees from our other facilities visit or transfer to the U.S. to meet our customers or work on projects at a customer&#8217;s site. Any visa restrictions or new legislation putting a restriction on issuing visas could affect our business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Immigration and visa laws and regulations in the U.S. and other countries are subject to legislative and administrative changes, as well as changes in the application of standards. Immigration and visa laws and regulations can be significantly affected by political forces and levels of economic activity. Our business, results of operations and financial condition may be materially adversely affected if legislative or administrative changes to immigration or visa laws and regulations impair our ability to staff projects with our professionals who are not citizens of the country where the work is to be performed.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">26</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">New and changing corporate governance and public disclosure requirements add uncertainty to our compliance policies and increase our costs of compliance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Changing laws, regulations and standards relating to accounting, corporate governance and public disclosure, including SEC regulations and the Nasdaq Stock Market rules, create uncertainty for companies like ours. These laws, regulations and standards may lack specificity and are subject to varying interpretations. Their application in practice may evolve over time, as new guidance is provided by regulatory and governing bodies. This could result in continuing uncertainty regarding compliance matters and higher costs of compliance as a result of revisions to such corporate governance standards.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Although we are committed to maintaining high standards of corporate governance and public disclosure, and complying with evolving laws, regulations and standards, if we fail to comply with new or changed laws, regulations or standards of corporate governance, our business and reputation may be harmed.</p><a id="_60d0b4f8_0783_4b14_aeeb_ee4e68d11b5b"></a><a id="Item1BUnresolvedStaffComments_373128"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Item 1B. Unresolved Staff Comments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">None.</p><a id="_be4779e2_f8cf_4910_a367_c99a3554e240"></a><a id="Item1CCybersecurity_66097"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Item 1C. Cybersecurity</b></p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock" id="Tb_EW2aMiXHm0qWNBW_CAa4lQ" continuedAt="Tb_EW2aMiXHm0qWNBW_CAa4lQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Cybersecurity Risk Management and Strategy</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We recognize the importance of developing, implementing and maintaining a firm cybersecurity posture to safeguard our information systems, protect the confidentiality, integrity and availability of our data and mitigate risks associated with cyber threats and attacks. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We are ISO/IEC 27001:2022 certified and the ISO Information Security Risk Management Standard is used as a reference guide for our risk management approach. <ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="cyd:CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock" id="Group_ID-5J-Lea0OuSJbjz1z1hA" continuedAt="Group_ID-5J-Lea0OuSJbjz1z1hA_2" escape="true">We have a <ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" format="ixt:fixed-true" name="cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag" id="Narr_ImL55yiq0U-Y4H7fnH84KQ">designated</ix:nonNumeric> <ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleTextBlock" id="Tb_vXJ-nT-qfEy0W52x3jgI6Q" escape="true">Chief Information Security Officer (CISO)</ix:nonNumeric> who has primary responsibility for managing our cybersecurity risks. <ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="cyd:CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock" id="Tb_fWhIaGAEIE6D7x8Ig72sFg" escape="true">Our CISO has more than 28 years of experience in Information Security and holds a master&#8217;s degree in Information Technology. His in-depth knowledge and experience are instrumental in developing and executing our cybersecurity strategies.</ix:nonNumeric> Our CISO is assisted by a team of Information Security Officers (ISOs) and a third-party consultant who has expertise in cybersecurity, information security risk management, and information systems audit and holds various certifications including, CISA, CISM, HITRUST Certified Common Security Framework Practitioner, QSA, and CSP.</ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Recognizing the inherent cybersecurity risks common to any organization, encompassing concerns such as unauthorized access to sensitive data, potential disruptions to business operations from cyber incidents, and the associated financial and reputational impacts arising from a cybersecurity breach, we have implemented comprehensive policies covering various aspects of cybersecurity and information management, including, without limitation, cyber risk management, information security practices, roles and responsibilities, access controls, cryptography, information classification, asset disposal, and vendor management. We periodically review and modify these policies to align with industry practice, trends and evolving threat landscapes. Compliance with these policies is expected from all employees and contractors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We perform periodic assessments for identifying threats and vulnerabilities, covering relevant operational facets, and focusing on identifying, analyzing, evaluating, and treating cyber risks across business functions. Our risk assessment guidelines define risk measurement and prioritization, and consider factors such as likelihood, impact, and potential harm. Mitigation strategies are planned, covering technical and procedural measures, including incident response plans.</p></ix:nonNumeric></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">27</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><ix:continuation id="Tb_EW2aMiXHm0qWNBW_CAa4lQ_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Incident Response</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We maintain a comprehensive incident response plan. Key components include regular updates to ensure effectiveness, employee training programs, and establishing communication channels and relevant systems for proper incident reporting and logging procedures. Communication and notification protocols are defined for <ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" format="ixt:fixed-true" name="cyd:CybersecurityRiskThirdPartyOversightAndIdentificationProcessesFlag" id="Narr_H86esD-N4kiDKbhc0DyJOw">notifying third parties such as regulatory bodies</ix:nonNumeric>, customers, and partners. Recovery strategies are developed for restoring normal operations, and post-incident analysis is conducted to identify lessons learned and improvements for future incident response efforts. The incident response plan also outlines procedures for prompt detection, response, and remediation efforts to minimize the impact of incidents. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Incident materiality is assessed through a collaborative process involving key personnel within our organization. Responsibility for conducting a materiality assessment lies with our management team, in consultation with advice from our third-party cybersecurity consultant, as appropriate. The materiality assessment considers various factors, including financial impact, reputational risk, regulatory implications, and potential harm to third parties. Upon completion of the materiality assessment, the disclosure of incidents, including those related to contractual, regulatory, or technology/security aspects, is handled by designated members of our senior management team. We consult with outside counsel or experts as appropriate, including on materiality analysis and disclosure matters.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">As of the fiscal year ending December 31, 2024, <ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" format="ixt:fixed-false" name="cyd:CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag" id="Narr_HSaFfjAqxUOVoI9BBKvcVA">there have been no identified cybersecurity incidents that have materially affected or are reasonably likely to materially affect us</ix:nonNumeric>, including our business strategy, results of operations or financial condition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Engagement of Third Parties</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Recognizing the complexity and evolving nature of cybersecurity threats, we have engaged a <ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" format="ixt:fixed-true" name="cyd:CybersecurityRiskManagementThirdPartyEngagedFlag" id="Narr_vxs638bGP0iPKLNZoxKElg">third-party</ix:nonNumeric> consultant to assist with evaluating and testing our risk management approach. This enables us to leverage specialized knowledge and insights in connection with our cybersecurity strategies and processes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Strategy</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">To enhance our current cybersecurity posture, we continue to invest in advanced threat detection technologies, provide cybersecurity training based on the latest trends and guidance to the employees, collaborate with industry partners and regulatory bodies to stay informed about emerging threats, reinforce our cybersecurity incident response plan to align with industry-specific regulations and legal obligations, integrate threat intelligence feeds for automatic detection of any misconfigurations, security threats, and foster a collaborative, cross-functional, and accelerated approach to incident response.</p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Cybersecurity Governance</b></p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="cyd:CybersecurityRiskBoardOfDirectorsOversightTextBlock" id="Tb_6nsXpLLkaUm92_qqlADJiQ" continuedAt="Tb_6nsXpLLkaUm92_qqlADJiQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our Board of Directors is aware of the critical nature of managing the risks associated with cybersecurity threats. The Board of Directors has established oversight mechanisms to ensure effective governance in managing these risks.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Board of Director Oversight</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="cyd:CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock" id="Tb_Aq9xfZ-Pm0S-zynZvVoi6A" escape="true">Our <ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="cyd:CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock" id="Tb_o5g8bYGh0EONASic0ABISg" escape="true">Audit Committee</ix:nonNumeric> has primary responsibility for overseeing risk management, including with respect to cybersecurity. The Audit Committee monitors management&#8217;s compliance, and reports to the Board of Directors.</ix:nonNumeric> <ix:continuation id="Group_ID-5J-Lea0OuSJbjz1z1hA_2">The CISO, who is responsible for developing our cybersecurity strategy and managing our cybersecurity risks, <ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" format="ixt:fixed-true" name="cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag" id="Narr_3glJUtLVs0GeIXJjwbIoAA">reports</ix:nonNumeric> directly to the Audit Committee on these matters.</ix:continuation></p></ix:nonNumeric></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">28</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><ix:continuation id="Tb_6nsXpLLkaUm92_qqlADJiQ_cont1"></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="cyd:CybersecurityRiskRoleOfManagementTextBlock" id="Tb_B3o_gSuWykSN4m-ppFPCEQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Management&#8217;s Role</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our cybersecurity governance framework incorporates policies, procedures, regular meetings, and controls to manage and mitigate cybersecurity risks. Aligned with industry standards and regulatory requirements, the framework is overseen and regularly evaluated by our leadership team responsible for implementation. Regular risk assessments are conducted to identify and assess potential cybersecurity risks, informing the development of proactive risk mitigation strategies within the governance framework.</p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="cyd:CybersecurityRiskManagementProcessesIntegratedTextBlock" id="Tb_49VotPys80y0So4HwDTwHg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The governance framework is closely <ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" format="ixt:fixed-true" name="cyd:CybersecurityRiskManagementProcessesIntegratedFlag" id="Narr_ookBmDNrzUmlTCdbMKyrfA">integrated</ix:nonNumeric> via a structured compliance reporting framework operating across various governance levels. This framework also operates across geographic locations, with location specific compliance meetings conducted at a local management level and led by the CISO with assistance from the ISO team. This structured compliance reporting is intended to ensure that the highest levels of management are kept abreast of potential cybersecurity risks facing the Company, with the escalation of significant cybersecurity matters to the Audit Committee and ultimately to the Board of Directors, as appropriate.</p></ix:nonNumeric></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Notwithstanding the extensive approach we take to cybersecurity, we may not be successful in preventing or mitigating a cybersecurity incident that could have a material adverse effect on us. While we maintain cybersecurity insurance, the costs related to cybersecurity threats or disruptions may not be fully insured. See Item 1A. &#8220;Risk Factors&#8221; for a discussion of cybersecurity risks.</p><a id="_16c680cb_575c_46a7_b269_91e4c2a8bdb0"></a><a id="Item2Properties_639073"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Item 2. Properties.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We maintain leased property in Ridgefield Park, New Jersey, which is our headquarters, and in the Philippines, India, Sri Lanka, Israel and Germany. The square footage of all our leased properties totals approximately 192,000. Our leased properties in the Philippines, Sri Lanka, Germany and Israel are primarily used by our DDS segment; and our leased property in India is primarily used by our DDS and Synodex segments. Our leased property in the United States is our corporate headquarters and is used by all segments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In addition, we may need to lease additional property in the future. We believe that we will be able to obtain suitable additional facilities on commercially reasonable terms on an &#8220;as needed&#8221; basis.</p><a id="_a862752e_c861_4129_9b82_4e75c590b22e"></a><a id="Item3LegalProceedings_777065"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Item 3. Legal Proceedings.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Reference is made to Note 7, &#8220;Commitments and Contingencies - Litigation,&#8221; to the consolidated financial statements in Item 8 of this Report, which is incorporated by reference herein.</p><a id="_bfddeb65_f156_4244_bc3d_c6f48d7bda61"></a><a id="Item4MineSafetyDisclosures_177314"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Item 4. Mine Safety Disclosures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">29</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_d2fe8f85_8a2e_4e46_b296_f70e9cbc1173"></a><a id="PARTII_120780"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">PART II</b></p><a id="Item5MarketforRegistrantsCommonEquityRel"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Item 5. Market for Registrant&#8217;s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Innodata Inc. (the &#8220;Company&#8221;) Common Stock is quoted on The Nasdaq Stock Market LLC under the symbol &#8220;INOD&#8221;. On February 7, 2025, there were 50 stockholders of record of the Company&#8217;s Common Stock based on information provided by the Company&#8217;s transfer agent. The number of stockholders of record is based upon the actual number of holders registered at such date and does not include holders of shares in &#8220;street names&#8221; or persons, partnerships, associates, corporations, or other entities identified in security position listings maintained by depositories. We do not anticipate paying any dividends in the foreseeable future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Securities Authorized for Issuance Under Equity Compensation Plans</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The following table sets forth the aggregate information for the Company&#8217;s equity compensation plans in effect as of December 31, 2024:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:26.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:21.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:21.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:21.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:26.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of&#160;Securities&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of&#160;Securities&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">to&#160;be&#160;Issued&#160;Upon&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:23.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-Average&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining&#160;Available&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:26.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise&#160;of&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:23.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise&#160;Price&#160;of&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">for&#160;Future&#160;Issuance&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Outstanding&#160;Options,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:23.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Outstanding&#160;Options,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Under&#160;Equity&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">Plan Category</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;Warrants&#160;and&#160;Rights</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:23.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;Warrants&#160;and&#160;Rights</b><sup style="font-size:7.5pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Compensation&#160;Plans</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(a)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(b)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(c)</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Equity compensation plans approved by security holders <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,365,193</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3.67</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:26.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Equity compensation plans approved by security holders <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,891,350</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15.86</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 902,824</span></p></td></tr><tr><td style="vertical-align:bottom;width:26.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Equity compensation plans not approved by security holders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:26.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,256,543</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 902,824</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt 0pt 10pt 66.25pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup> 2013 Stock Plan, approved by the stockholders, see Note 11, &#8220;Stock Options&#8221;, to the consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt 0pt 10pt 66.25pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2) </sup>2021 Equity Compensation Plan, approved by stockholders, see Note 11, &#8220;Stock Options&#8221;, to the consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt 0pt 10pt 66.25pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup> Restricted stock units were excluded when determining the weighted-average exercise price of outstanding options, warrants and rights.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Purchase or Unregistered Sales of Equity Securities</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We did not purchase any shares of our common stock during the year ended December 31, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">We did not have any sales of unregistered equity securities during the year ended December 31, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_3c0fa00a_f3f5_4c91_8b22_c14aca51b3f0"></a><a id="Item6Reserved_887096"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><b style="font-weight:bold;">Item 6. [Reserved]</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">30</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_3ed22828_f56f_49fc_9c72_80eb91c3a2b7"></a><a id="Item7ManagementsDiscussionandAnalysisofF"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Item 7. Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The following discussion should be read in conjunction with our consolidated financial statements and the related notes thereto included elsewhere in this Report. In addition to historical information, this discussion includes forward-looking information that involves risks and assumptions based upon management&#8217;s current expectations. Our actual results could differ materially from the results referred to in any forward-looking statement. See &#8220;Cautionary Note Regarding Forward-Looking Statements&#8221; included elsewhere in this Report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Executive Overview</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We are a global data engineering company. We operate in three reporting segments: Digital Data Solutions (DDS), Synodex and Agility.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table sets forth certain financial data for the two years ended December 31, 2024 and 2023:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:47.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:47.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><i style="font-style:italic;">&#160;&#160;&#160;&#160;</i></p></td><td colspan="9" style="vertical-align:bottom;white-space:nowrap;width:48.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(Dollars&#160;in&#160;millions)</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:47.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="9" style="vertical-align:bottom;white-space:nowrap;width:48.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:47.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><i style="font-style:italic;">&#160;&#160;&#160;&#160;</i></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><i style="font-style:italic;">&#160;&#160;&#160;&#160;</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%&#160;of&#160;revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">&#160;&#160;&#160;&#160;</i></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><i style="font-style:italic;">&#160;&#160;&#160;&#160;</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%&#160;of&#160;revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 170.5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 86.8</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:47.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Direct operating costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 103.4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 60.7</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 55.5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 63.9</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:47.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross Profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 67.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 39.4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 31.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 36.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:47.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Selling and administrative expenses</p></td><td style="vertical-align:bottom;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 42.7</span></p></td><td style="vertical-align:bottom;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 25.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 31.0</span></p></td><td style="vertical-align:bottom;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 35.7</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:47.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 24.4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:47.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest (income) expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(0.1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income before provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 24.5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (4.2)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net Income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 28.7</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (0.9)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For a summary of our Significant Accounting Estimates and Policies, please refer to Note 1 of the Notes to our Consolidated Financial Statements, which are included elsewhere in this Report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Non-GAAP Financial Measures</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In addition to the financial information prepared in conformity with U.S. GAAP (&#8220;GAAP&#8221;), we provide certain non-GAAP financial information. We believe that these non-GAAP financial measures assist investors in making comparisons of period-to-period operating results. In some respects, management believes non-GAAP financial measures are more indicative of our ongoing core operating performance than their GAAP equivalents by making adjustments that management believes are reflective of the ongoing performance of the business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We believe that the presentation of this non-GAAP financial information provides investors with greater transparency by providing investors a more complete understanding of our financial performance, competitive position, and prospects for the future, particularly by providing the same information that management and our Board of Directors use to evaluate our performance and manage the business. However, the non-GAAP financial measures presented in this Annual Report on Form 10-K have certain limitations in that they do not reflect all of the costs associated with the operations of our business as determined in accordance with GAAP. Therefore, investors should consider non-GAAP financial measures in addition to, and not as a substitute for, or as superior to, measures of financial performance prepared in accordance with GAAP. Further, the non-GAAP financial measures that we present may differ from similar non-GAAP financial measures used by other companies.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Adjusted Gross Profit and Adjusted Gross Margin</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We define Adjusted Gross Profit as revenues less direct operating costs attributable to Innodata Inc. and its subsidiaries in accordance with U.S. GAAP, plus depreciation and amortization of intangible assets, stock-based compensation, non-recurring severance and other one-time costs. </p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">31</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We define Adjusted Gross Margin by dividing Adjusted Gross Profit over total U.S. GAAP revenues. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">We use Adjusted Gross Profit and Adjusted Gross Margin to evaluate results of operations and trends between fiscal periods and believe that these measures are important components of our internal performance measurement process. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">The following table contains a reconciliation of Gross Profit and Gross Margin in accordance with the U.S. GAAP attributable to Innodata Inc. and its subsidiaries to Adjusted Gross Profit and Adjusted Gross Margin for the years ended December 31, 2024 and 2023 (in thousands).</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year&#160;Ended&#160;December&#160;31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Consolidated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Gross Profit attributable to Innodata Inc. and Subsidiaries</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$ </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 67,074</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 31,293</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="color:#242424;">Depreciation and amortization</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,705</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,608</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="color:#242424;">Severance**</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 327</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="color:#242424;">Stock-based compensation</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 281</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 294</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Adjusted Gross Profit</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 73,060</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 36,522</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Gross Margin</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 39</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 36</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:72.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Adjusted Gross Margin</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 43</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 42</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year&#160;Ended&#160;December&#160;31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">DDS Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Gross Profit attributable to DDS Segment</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 52,912</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 21,519</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="color:#242424;">Depreciation&#160;and&#160;amortization</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,133</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,053</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="color:#242424;">Severance**</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 28</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="color:#242424;">Stock-based&#160;compensation</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 252</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 261</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Adjusted Gross Profit</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 55,297</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 22,861</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Gross Margin</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 37</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 35</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:72.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Adjusted Gross Margin</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 39</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 37</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year&#160;Ended&#160;December&#160;31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Synodex Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Gross Profit attributable to Synodex Segment</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,101</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 799</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="color:#242424;">Depreciation and amortization</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 503</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 623</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="color:#242424;">Stock-based compensation</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Adjusted Gross Profit</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 2,606</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 1,423</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Gross Margin</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 27</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:72.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Adjusted Gross Margin</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 33</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 19</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">32</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year&#160;Ended&#160;December&#160;31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Agility Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Gross Profit attributable to Agility Segment</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,061</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,975</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="color:#242424;">Depreciation and amortization</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,069</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,932</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="color:#242424;">Severance**</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 299</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="color:#242424;">Stock-based compensation</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 27</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 32</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Adjusted Gross Profit</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 15,157</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 12,238</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Gross Margin</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 56</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 51</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Adjusted Gross Margin</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 71</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 69</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">**<i style="font-style:italic;">Represents non-recurring severance incurred for a reduction in headcount in connection with the re-alignment of the Company&#8217;s cost structure.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 8pt 0pt;"><i style="font-style:italic;">Adjusted EBITDA</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">We define Adjusted EBITDA as net income (loss) attributable to Innodata Inc. and its subsidiaries in accordance with U.S. GAAP before interest expense, income taxes, depreciation and amortization of intangible assets (which derives EBITDA), plus additional adjustments for loss on impairment of intangible assets and goodwill, stock-based compensation, income (loss) attributable to non-controlling interests, non-recurring severance, and other one-time costs. We use Adjusted EBITDA to evaluate core results of operations and trends between fiscal periods and believe that these measures are important components of our internal performance measurement process.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">The following table contains a reconciliation of GAAP net income (loss) attributable to Innodata Inc. and its subsidiaries to Adjusted EBITDA for the years ended December 31, 2024 and 2023 (in thousands).</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Consolidated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income (loss) attributable to Innodata Inc. and Subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 28,660</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (908)</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Provision for income taxes </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (4,190)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,028</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Interest expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 287</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 400</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,796</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,716</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Severance**</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 580</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,998</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,027</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 19</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Adjusted EBITDA - Consolidated</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 34,566</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,862</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31,&#160;&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">DDS Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income attributable to DDS Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 25,446</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 223</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Provision for income taxes </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (4,081)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,018</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Interest expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 283</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 395</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,224</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,161</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Severance**</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 33</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,896</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,511</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 19</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Adjusted EBITDA - DDS Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 27,783</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,360</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">33</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Synodex Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income attributable to Synodex Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,908</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 219</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 503</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 623</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Severance**</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Stock-based compensation*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (99)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 167</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Adjusted EBITDA - Synodex Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,312</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,015</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Agility Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income (loss) attributable to Agility Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,306</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (1,350)</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Provision for income taxes </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (109)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Interest expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,069</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,932</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Severance**</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 541</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 201</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 349</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Adjusted EBITDA - Agility Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,471</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,487</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;margin:0pt;">* <i style="font-style:italic;">Included in stock-based compensation is an adjustment for the reversal of expense relating to performance based restricted stock units in the current year.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">**<i style="font-style:italic;">Represents non-recurring severance incurred for a reduction in headcount in connection with the re-alignment of the Company&#8217;s cost structure.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Results of Operations</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Amounts in the MD&amp;A below are after elimination of any inter-segment profit and have been rounded. All percentages have been calculated using rounded amounts.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Year Ended December 31, 2024 Compared to the Year Ended December 31, 2023</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;margin:0pt 0pt 10pt 0pt;">Revenues</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Total revenues were $170.5 million and $86.8 million for the years ended December 31, 2024 and 2023, respectively, an increase of $83.7 million or approximately 96%.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Revenues from the DDS segment were $141.1 million and $61.6 million for the years ended December 31, 2024 and 2023, respectively, an increase of $79.5 million or approximately 129%. The net increase was primarily attributable to higher volume from an existing customer.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Revenues from the Synodex segment were $7.9 million and $7.5 million for the years ended December 31, 2024 and 2023, respectively, an increase of $0.4 million or approximately 5%. The increase was primarily due to higher volume from existing customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Revenues from the Agility segment were $21.5 million and $17.7 million for the years ended December 31, 2024 and 2023 respectively, an increase of $3.8 million or approximately 21%. The increase was primarily attributable to higher volumes from subscriptions to our Agility AI-enabled industry platform.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">One customer in the DDS segment generated approximately 48% of the Company&#8217;s total revenues in the fiscal year ended December 31, 2024. Another customer in the DDS segment generated approximately 10% of the Company&#8217;s total revenues in the fiscal year ended December 31, 2023. No other customer accounted for 10% or more of total revenues during these periods. Further, in the years ended December 31, 2024 and 2023, revenues from non-U.S. customers accounted for 21% and 37%, respectively, of the Company&#8217;s revenues.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">34</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;margin:0pt 0pt 10pt 0pt;">Direct Operating Costs</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Direct operating costs consist of direct and indirect labor costs, occupancy costs, data center hosting fees, cloud services, content acquisition costs, depreciation and amortization, travel, telecommunications, computer services and supplies, realized (gain) loss on forward contracts, foreign currency revaluation (gain) loss, and other direct expenses that are incurred in providing services to our customers. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Direct operating costs were $103.4 million and $55.5 million for the years ended December 31, 2024 and 2023, respectively, an increase of $47.9 million or approximately 86%. The cost increase was primarily due to increased headcount to support higher volumes from an existing customer. The increase in direct operating costs includes a net increase of $42.2 million from direct and indirect labor related costs primarily on account of new hires and higher incentives; higher recruitment fees of $3.5 million; higher depreciation and amortization of capitalized developed software of $1.1 million; higher content costs of $0.8 million; higher cloud service subscriptions of $0.8 million and an increase in other direct operating costs of $0.3 million; offset in part by a favorable impact of foreign exchange rate fluctuations of $0.8 million. Direct operating costs as a percentage of total revenues were approximately 61% and 64% for the years ended December 31, 2024 and 2023, respectively. The decrease in direct operating cost as a percentage of total revenues was primarily due to higher revenues in all segments and lower direct operating costs in the Synodex segment, offset in part by higher direct operating costs in the DDS and Agility segments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Direct operating costs for the DDS segment were $88.2 million and $40.1 million for the years ended December 31, 2024 and 2023, respectively, an increase of $48.1 million or approximately 120%. The cost increase was primarily due to increased headcount to support higher volumes from an existing customer. The increase in direct operating costs includes a net increase of $43.3 million from direct and indirect labor related costs primarily on account of new hires and higher incentives; higher recruitment fees of $3.5 million; higher depreciation and amortization of capitalized developed software of $1.0 million; higher cloud service subscriptions of $0.7 million and an increase in other direct operating costs of $0.3 million; offset in part by a favorable impact of foreign exchange rate fluctuations of $0.7 million. Direct operating costs for the DDS segment as a percentage of DDS segment revenues were approximately 63% and 65% for the years ended December 31, 2024 and 2023, respectively. The decrease in direct operating costs of the DDS segment as a percentage of DDS segment revenues was primarily attributable to higher revenues, offset in part by higher direct operating costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Direct operating costs for the Synodex segment were approximately $5.8 million and $6.7 million for the years ended December 31, 2024 and 2023, respectively, a decrease of $0.9 million or approximately 13%. The decrease in direct operating costs was primarily due to the effect of our cost optimization initiatives completed in 2023 which resulted in cost efficiencies for the Synodex segment. The reduction was primarily due to lower direct labor costs of $0.9 million and lower depreciation and amortization of capitalized developed software of $0.1 million, offset in part by higher cloud service subscriptions of $0.1 million. Direct operating costs for the Synodex segment as a percentage of segment revenues were approximately 73% and 89% for the years ended December 31, 2024 and 2023, respectively. The decrease in direct operating costs of the Synodex segment as a percentage of Synodex segment revenues was due to a decrease in direct operating costs and higher revenues.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Direct operating costs for the Agility segment were approximately $9.4 million and $8.7 million for the years ended December 31, 2024 and 2023, respectively, an increase of $0.7 million or approximately 8%. The increase was primarily due to higher content costs of $0.8 million, higher depreciation and amortization of capitalized developed software of $0.2 million, offset in part by lower direct labor costs of $0.2 million including severance, primarily due to the effect of our cost optimization initiatives completed in 2023 and a favorable impact of foreign exchange rate fluctuations of $0.1 million. Direct operating costs for the Agility segment as a percentage of Agility segment revenues were approximately 44% and 49% for the years ended December 31, 2024 and 2023, respectively. The decrease in direct operating costs of the Agility segment as a percentage of Agility segment revenues was due to higher revenues, offset in part by higher direct operating costs.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">35</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Gross Profit and Gross Margin</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Gross profit is derived from revenues less direct operating costs, while Gross margin as a percentage is derived by dividing gross profit over revenues.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Gross profit was $67.1 million and $31.3 million for the years ended December 31, 2024 and 2023, respectively. The $35.8 million increase in gross profit was primarily due to higher revenues in all segments and lower direct operating costs for the Synodex segment, offset in part by higher direct operating costs in the DDS and Agility segments. Gross margin was 39% and 36% for the years ended December 31, 2024 and 2023, respectively. The increase in gross margin was primarily due to higher revenues in all segments and lower direct operating costs for the Synodex segment, offset in part by higher direct operating costs in the DDS and Agility segments in the current fiscal year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Gross profit for the DDS segment was $52.9 million and $21.5 million for the years ended December 31, 2024 and 2023, respectively. The $31.4 million increase in gross profit for the DDS segment was primarily due to higher revenues, offset in part by higher direct operating costs. Gross margin for the DDS segment was 37% and 35% for the years ended December 31, 2024 and 2023, respectively. The increase in gross margin for the DDS segment as a percentage of revenues was primarily due to higher revenues, offset in part by higher direct operating costs in the current fiscal year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Gross profit for the Synodex segment was $2.1 million and $0.8 million for the years ended December 31, 2024 and 2023, respectively. The $1.3 million increase in gross profit for the Synodex segment was primarily due to lower direct operating costs and higher revenues. Gross margin for the Synodex segment was 27% and 11% for the years ended December 31, 2024 and 2023, respectively. The increase in gross margin for the Synodex segment as a percentage of revenues was primarily due to lower direct operating costs and higher revenues in the current fiscal year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Gross profit for the Agility segment was $12.1 million and $9.0 million for the years ended December 31, 2024 and 2023, respectively. The $3.1 million increase in gross profit for the Agility segment was primarily due to higher revenues, offset in part by higher direct operating costs. Gross margin for the Agility segment was 56% and 51% for the years ended December 31, 2024 and 2023, respectively. The increase in gross margin for the Agility segment as a percentage of revenues was primarily due to higher revenues, offset in part by higher direct operating costs in the current fiscal year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;margin:0pt 0pt 10pt 0pt;">Selling and Administrative Expenses</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Selling and administrative expenses consist of payroll and related costs including commissions, bonuses, and stock-based compensation; marketing, advertising, trade conferences and related expenses; new services research and related software development expenses, software subscriptions, professional and consultant fees, provision for credit losses and other administrative overhead expenses. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Selling and administrative expenses were approximately $42.7 million and $31.0 million for the years ended December 31, 2024 and 2023, respectively, an increase of $11.7 million or approximately 38%. The increase in selling and administrative expenses was primarily due to higher expenses associated with the increase in revenues. The increase in selling and administrative expenses includes higher selling and administrative payroll and related expenses of $7.3 million, primarily on account of new hires, salary increases, incentives and bonuses and offset in part by lower severance costs; higher professional fees of $3.3 million; higher expenses for marketing related activities of $0.6 million; higher subscriptions of $0.2 million; an unfavorable impact of foreign exchange rate fluctuations of $0.1 million; and an increase in other selling and administrative expenses of $0.2 million. Selling and administrative expenses as a percentage of total revenues were approximately 25% and 36% for the years ended December 31, 2024 and 2023, respectively. The decrease in selling and administrative expenses as a percentage of total revenues was primarily attributable to higher revenues in all segments and lower selling and administrative expenses in the Synodex segment, offset in part by higher selling and administrative expenses in the DDS and Agility segments.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">36</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Selling and administrative expenses for the DDS segment were approximately $31.6 million and $20.1 million for the years ended December 31, 2024 and 2023 respectively, an increase of $11.5 million or 57%. The increase in selling and administrative expenses was primarily due to higher expenses associated with the increase in revenues. The increase in selling and administrative expenses includes higher selling and administrative labor and related expenses of $7.2 million, primarily on account of new hires, salary increases, incentives and bonuses awarded; higher professional fees of $3.2 million; higher expenses for marketing related activities of $0.3 million; higher subscriptions of $0.2 million; higher provisions for credit losses of $0.2 million and an increase in other selling and administrative expenses of $0.4 million. Selling and administrative expenses for the DDS segment as a percentage of DDS segment revenues were approximately 22% and 33% for the years ended December 31, 2024 and 2023, respectively. The decrease in selling and administrative expenses of the DDS segment as a percentage of DDS segment revenues was primarily attributable to higher revenues, offset in part by higher selling and administrative expenses.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Selling and administrative expenses for the Synodex segment were $0.2 million and $0.6 million for the years ended December 31, 2024 and 2023 respectively, a decrease of $0.4 million or approximately 67%. The decrease in selling and administrative expenses was primarily attributable to lower selling and administrative payroll costs of $0.3 million and lower professional fees of $0.1 million. Selling and administrative expenses for the Synodex segment as a percentage of Synodex segment revenues were approximately 3% and 8% for the years ended December 31, 2024 and 2023, respectively. The decrease in selling and administrative expenses of the Synodex segment as a percentage of Synodex segment revenues was primarily attributable to higher revenues and lower selling and administrative expenses.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Selling and administrative expenses for the Agility segment were $10.9 million and $10.3 million for the years ended December 31, 2024 and 2023, respectively, an increase of $0.6 million or approximately 6%. The increase in selling and administrative expenses was primarily due to higher expenses associated with the increase in revenues. The increase in selling and administrative expenses includes higher selling and administrative payroll and related expenses of $0.4 million, primarily on account of new hires, salary increases, incentives and bonuses awarded; offset in part by lower severance costs; an increase in marketing related activities of $0.3 million; higher professional fees of $0.2 million, and an unfavorable impact of foreign exchange rate fluctuations of $0.1 million, offset in part by lower provision for credit losses of $0.2 million and a decrease in other selling and administrative expenses of $0.2 million. Selling and administrative expenses for the Agility segment as a percentage of Agility segment revenues were approximately 51% and 58% for the years ended December 31, 2024 and 2023, respectively. The decrease in selling and administrative expenses of the Agility segment as a percentage of Agility segment revenues was primarily due to higher revenues, offset in part by higher selling and administrative expenses.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Goodwill Impairment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">As of September 30, 2024, the Company performed its annual goodwill impairment analysis on its reporting unit with goodwill, the Agility segment. It involved a quantitative goodwill impairment test and estimated the fair value based on a combination of the income approach (estimates of future discounted cash flows) and the market approach (market multiples for similar companies) using unobservable inputs (Level 3). The income approach uses a discounted cash flow (&#8220;DCF&#8221;) method that utilizes the present value of cash flows to estimate the segment&#8217;s fair value. The future cash flows of the segment were projected based on the Company&#8217;s estimates of future revenues, operating income, and other factors such as working capital and capital expenditure. As part of the DCF analysis, the Company projected revenue and operating profits and assumed long-term revenue growth rates in the terminal year. The market approach utilizes multiples of revenues and earnings before interest expense, taxes, depreciation, and amortization (&#8220;EBITDA&#8221;) to estimate the segment&#8217;s fair value. The market multiples used for the segment were based on a group of comparable companies&#8217; market multiples applied to the Company&#8217;s revenue. The Company concluded that there is no impairment of goodwill.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;margin:0pt 0pt 10pt 0pt;">Income Taxes</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Income taxes primarily consist of a provision for foreign taxes recorded by the Company&#8217;s foreign subsidiaries in accordance with local tax regulations.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">37</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We recorded a benefit from income taxes of $4.2 million and provision for income taxes of approximately $1.0 million for the years ended December 31, 2024 and 2023, respectively. In the third and fourth quarters of 2024, the Company determined it was more likely than not that the Company would be able to realize the benefit of the deferred tax assets in the United States and the United Kingdom, resulting in the release of the valuation allowance. In reaching this determination, the Company considered the growing trend of profitability over the last three years in the United States, as well as its expectations regarding the generation of future taxable income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The effective income tax rates for the year ended December 31, 2024 are disproportionate primarily due to the effect of a stock-based compensation adjustment, the release of the valuation allowance from our U.S. and U.K. deferred tax assets and a decrease in unrecognized tax benefits, offset in part by IRS section 162 (m) adjustments and Global Intangible Low-Taxed Income (GILTI) provisions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The effective income tax rates for the year ended December 31, 2023 are disproportionate primarily due to the minimal pre-tax income and valuation allowance recorded on the deferred taxes of the U.S., Canadian, German and the U.K. subsidiaries, tax effects of foreign operations, IRS section 162 (m) adjustments, offset in part by the effect of stock-based compensation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The reconciliation of the U.S. statutory rate with the Company&#8217;s effective tax rate for the years ended December 31, 2024 and 2023 are summarized in the table below:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:66.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Federal income tax expense at statutory rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 21.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 21.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:66.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Effect of:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Section 162 (m)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 57.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 452.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Global Intangible Low-Taxed Income (GILTI)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Tax effects of foreign operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">1.5 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 562.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Return to provision true up</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.8</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 264.4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Foreign operations permanent differences - foreign exchange gains and losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 76.9</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Withholding tax</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 106.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Research and development credit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (67.3)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Tax effect of intercompany settlement</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (234.0)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Deemed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (0.6)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (149.2)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Foreign rate differential</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (0.9)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (102.5)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">State income tax net of federal benefit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (1.8)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Increase (decrease) in unrecognized tax benefits (ASC 740)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (3.8)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 199.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Change in valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (30.7)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 578.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Effect of stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (64.8)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (961.6)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (7.6)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Effective tax rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (17.1)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 739.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Despite access to overseas earnings and the resulting toll charge, we intend to indefinitely reinvest earnings and profits in our foreign subsidiaries on account of the foreign jurisdiction withholding taxes that we would have to incur on the actual remittances. Unremitted foreign earnings and profits amounted to approximately $53.9 million at December 31, 2024. If such foreign earnings and profits are repatriated in the future, or are no longer deemed to be indefinitely reinvested, we would have to accrue the applicable amount of foreign jurisdiction withholding taxes associated with such remittances.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We have a remaining valuation allowance on all the deferred tax assets of our Canadian and German subsidiaries. Our Canadian subsidiaries also have research and development credits available to reduce taxable income in future years, which may be carried forward indefinitely. The potential benefits from these balances have not been recognized for financial statement purposes.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">38</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;margin:0pt 0pt 10pt 0pt;">Net Income (Loss)</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We had a net income of $28.7 million and a net loss of $0.9 million during the years ended December 31, 2024 and 2023, respectively. The $29.6 million change was a result of higher revenues in all segments and lower direct operating costs and selling and administrative expenses in the Synodex segment, offset in part by higher direct operating costs and selling and administrative expenses in the DDS and Agility segments of $24.1 million; a change in income tax provision resulting from the release of the valuation allowance on our U.S. and U.K. deferred tax assets of $5.4 million and interest income of $0.1 million from the refund of a court fee deposit for our Indian subsidiary&#8217;s service tax case for the current fiscal year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Net income for the DDS segment was $25.4 million and $0.2 million for the years ended December 31, 2024 and 2023, respectively. The $25.2 million increase was primarily attributable to higher revenues, offset in part by higher direct operating costs and selling and administrative expenses of $19.8 million; a change in income tax provision resulting from the release of the valuation allowance on our U.S. deferred tax assets of $5.3 million and interest income of $0.1 million from the refund of a court fee deposit for our Indian subsidiary&#8217;s service tax case for the current fiscal year. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Net income for the Synodex segment was $1.9 million and $0.2 million for the years ended December 31, 2024 and 2023, respectively. The $1.7 million increase was primarily due to lower direct operating costs and selling and administrative expenses and higher revenues in the current fiscal year. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Net income for the Agility segment was $1.3 million and a net loss of $1.3 million for the years ended December 31, 2024 and 2023, respectively. The $2.6 million change was due to higher revenues offset in part by higher direct operating costs and selling and administrative expenses of $2.5 million and a change in income tax provision resulting from the release of the valuation allowance on our United Kingdom subsidiary&#8217;s deferred tax assets of $0.1 million in the current fiscal year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Adjusted Gross Profit and Margin</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Adjusted Gross Profit and Adjusted Gross Margin are non-GAAP financial measures. For a reconciliation of Adjusted Gross Profit and Adjusted Gross Margin to the most directly comparable GAAP measure, please see the description of &#8220;Non-GAAP Financial Measures &#8211; Adjusted Gross Profit and Adjusted Gross Margin&#8221; above.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Adjusted gross profit was $73.1 million and $36.5 million for the years ended December 31, 2024 and 2023, respectively. The $36.6 million increase in adjusted gross profit was primarily due to higher revenues in all segments and lower direct operating costs for the Synodex segment, offset in part by higher direct operating costs in the DDS and Agility segments. Adjusted gross margin was 43% and 42% for the years ended December 31, 2024 and 2023, respectively. The increase in adjusted gross margin was primarily due to higher revenues in all segments and lower direct operating costs for the Synodex segment, offset in part by higher direct operating costs in the DDS and Agility segments in the current fiscal year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Adjusted gross profit for the DDS segment was $55.3 million and $22.9 million for the years ended December 31, 2024 and 2023, respectively. The $32.4 million increase in adjusted gross profit for the DDS segment was due to higher revenues, offset in part by higher direct operating costs. Adjusted gross margin for the DDS segment was 39% and 37% for the years ended December 31, 2024 and 2023, respectively. The increase in the adjusted gross margin for the DDS segment as a percentage of revenues was primarily due to higher revenues, offset in part by higher direct operating costs in the current fiscal year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Adjusted gross profit for the Synodex segment was $2.6 million and $1.4 million for the years ended December 31, 2024 and 2023, respectively. The $1.2 million increase in adjusted gross profit in the Synodex segment was due to lower direct operating costs and higher revenues. Adjusted gross margin for the Synodex segment was 33% and 19% for the years ended December 31, 2024 and 2023, respectively. The increase in the adjusted gross margin for the Synodex segment as a percentage of revenues was primarily due to lower direct operating costs and higher revenues in the current fiscal year.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">39</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Adjusted gross profit for the Agility segment was $15.2 million and $12.2 million for the years ended December 31, 2024 and 2023, respectively. The $3.0 million increase in adjusted gross profit for the Agility segment was due to higher revenues, offset in part by higher direct operating costs. Adjusted gross margin for the Agility segment was 71% and 69% for the years ended December 31, 2024 and 2023, respectively. The increase in the adjusted gross margin for the Agility segment as a percentage of revenues was primarily due to higher revenues, offset in part by higher direct operating costs in the current fiscal year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Adjusted EBITDA</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Adjusted EBITDA is a non-GAAP financial measure. For a reconciliation of Adjusted EBITDA to the most directly comparable GAAP measure, please see the description of &#8220;Non-GAAP Financial Measures &#8211; Adjusted EBITDA&#8221; above.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Adjusted EBITDA was $34.6 million and $9.9 million for the years ended December 31, 2024 and 2023, respectively. The $24.7 million increase in Adjusted EBITDA was due to higher net income, higher depreciation and amortization, offset in part by a change in income tax provision resulting from the release of the valuation allowance on our U.S. and United Kingdom deferred tax assets, and lower non-recurring severance in the current fiscal year. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Adjusted EBITDA for the DDS segment was $27.8 million and $6.4 million for the years ended December 31, 2024 and 2023, respectively. The $21.4 million increase in Adjusted EBITDA in the DDS Segment was due to higher net income, higher depreciation and amortization, offset in part by a change in income tax provision for the period resulting from the release of the valuation allowance on our U.S. deferred tax assets in the current fiscal year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Adjusted EBITDA for the Synodex segment was $2.3 million and $1.0 million for the years ended December 31, 2024 and 2023, respectively. The $1.3 million increase in Adjusted EBITDA in the Synodex segment was due to higher net income, offset in part by lower stock-based compensation and depreciation and amortization in the current fiscal year. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Adjusted EBITDA for the Agility segment was $4.5 million and $2.5 million for the years ended December 31, 2024 and 2023, respectively. The $2.0 million increase in Adjusted EBITDA in the Agility segment was due to the net income in the current period compared to the net loss in the comparative period, higher depreciation and amortization, offset in part by lower non-recurring severance, lower stock-based compensation and a change in income tax provision for the period resulting from the release of the valuation allowance on our United Kingdom deferred tax assets in the current fiscal year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Liquidity and Capital Resources</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Selected measures of liquidity and capital resources, expressed in thousands, are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:39.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 46,883</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,806</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Short term investments - other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Working capital</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 41,494</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,142</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">On December 31, 2024, we had cash and cash equivalents of $46.9 million, of which $17.9 million was held by our foreign subsidiaries and $29.0 million was held in the United States. Despite the passage of the new tax law under which we may repatriate funds from overseas after paying the toll charge, it is our intent, as of December 31, 2024, to indefinitely reinvest the overseas funds in our foreign subsidiaries due to the withholding tax that we would have to incur on the actual remittances.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">40</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We have used, and plan to use, our cash and cash equivalents for (i) capital investments; (ii) the expansion of our operations; (iii) technology innovation; (iv) product management and strategic marketing; (v) general corporate purposes, including working capital; and (vi) possible business acquisitions. As of December 31, 2024, we had working capital of approximately $41.5 million, as compared to working capital of approximately $9.1 million as of December 31, 2023. The increase in working capital of $32.4 million is primarily due to higher cash balances driven by collections from higher revenues and cash proceeds from stock option exercises of $6.7 million. Accounts receivable increased by $12.9 million compared to the prior year as of the year ended December 31, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Proceeds from stock option exercises for the year ended December 31, 2024 were $6.7 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We did not have any material commitments for capital expenditures as of December 31, 2024. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We believe that our existing cash and cash equivalents and cash flows from operations will provide sufficient sources of liquidity to satisfy our financial needs for at least 12 months from the date of issuance of these financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">On April 4, 2023, we entered into a Credit Agreement (the &#8220;Credit Agreement&#8221;) with Wells Fargo Bank, National Association, as lender, and Innodata Inc., Innodata Synodex, LLC, Innodata docGenix, LLC and Agility PR Solutions LLC as co-borrowers. On July 21, 2023, Innodata Services, LLC signed a Joinder Agreement to join the Credit Agreement as a co-borrower. On August 5, 2024, we entered into a second amendment (to the Credit Agreement (together with the Credit Agreement, the &#8220;Amended Credit Agreement&#8221;). The Amended Credit Agreement provides for a secured revolving line of credit (the &#8220;Revolving Credit Facility&#8221;) up to an amount equal to the lesser of the borrowing base and $30.0 million (the &#8220;Maximum Credit&#8221;) and provides that a Borrower may request an increase to the Revolving Credit Facility&#8217;s Maximum Credit of up to, but not to exceed, $50.0 million, subject to the approval of the Lender. The Revolving Credit Facility&#8217;s borrowing base is calculated on the basis of (i) 85% of eligible accounts (other than eligible foreign accounts and unbilled accounts), plus (ii) the lesser of (a) 80% of eligible accounts that are unbilled accounts and (b) 30% of all eligible accounts, plus (iii) the lesser of (a) 85% of eligible foreign accounts, (b) 20% of all eligible accounts and (c) $4.0 million, minus (iv) certain other reserves and adjustments. As of December 31, 2024, such borrowing base calculation equaled approximately $22.3 million. The Credit Agreement contains a financial covenant that requires the Borrowers, on a consolidated basis, to maintain a fixed charge coverage ratio of not less than 1.10 to 1.00. Except as set forth in the Credit Agreement, borrowings under the Revolving Credit Facility bear interest at a rate equal to the daily simple secured overnight financing rate (&#8220;SOFR&#8221;) plus 2.25%. We did not utilize the Revolving Credit Facility during the year ended December 31, 2024 or during the subsequent period through the filing date of this Report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">On August 8, 2024, we filed a Registration Statement on Form S-3 (Registration No. 333-281379) (the &#8220;Form S-3&#8221;) with the SEC. The Form S-3, which includes a base prospectus, allows us to offer and sell, from time to time, in one or more offerings, common stock, preferred stock, debt securities, warrants or units up to an aggregate public offering price of $50.0 million. On September 16, 2024 we filed Amendment No. 1 to the Form S-3. The Form S-3 was declared effective by the SEC on October 10, 2024. The Form S-3 is intended to preserve our flexibility to raise capital from time to time, if and when needed.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;margin:0pt 0pt 10pt 0pt;">Net Cash Provided by Operating Activities</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Cash provided by our operating activities for the year ended December 31, 2024 was $35.0 million resulting from our net income of $28.7 million, adjusted for non-cash expenses of $6.2 million and an increase in working capital of $0.1 million. Refer to the Consolidated Statements of Cash Flows for further details.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Cash provided by our operating activities for the year ended December 31, 2023 was $5.9 million resulting from our net loss of $0.9 million, adjusted for non-cash expenses of $9.9 million and a decrease in working capital of $3.1 million. Refer to the Consolidated Statements of Cash Flows for further details.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">41</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our days&#8217; sales outstanding were 45 days and 50 days for the years ended December 31, 2024 and 2023, respectively. We calculate DSO by first dividing the total revenues for the period by average net accounts receivable, which is the average of net accounts receivable at the beginning of the period and net accounts receivable at the end of the period, to yield an amount we refer to as the &#8220;accounts receivable turnover&#8221;. Then we divide the total number of days within the period reported by the accounts receivable turnover to yield DSO expressed in number of days.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;margin:0pt 0pt 10pt 0pt;">Net Cash Used in Investing Activities</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Cash used in our investing activities for the year ended December 31, 2024 was $7.7 million. These capital expenditures were principally for the purchase of technology equipment including servers, network infrastructure and workstations, and expenditures for capitalized developed software. Capital expenditures for the year ended December 31, 2024 consisted of $4.6 million for the DDS segment, $2.1 million for the Agility segment and $1.0 million for the Synodex segment. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Cash used in our investing activities for the year ended December 31, 2023 was $5.1 million consisting of capital expenditures of $5.6 million offset in part by proceeds from sale of investments of $0.5 million. These capital expenditures were principally for the purchase of technology equipment including servers, network infrastructure and workstations, and expenditures for capitalized developed software. Capital expenditures for the year ended December 31, 2024 amounting to $5.6 million consisted of $2.9 million for the DDS segment, $1.8 million for the Agility segment and $0.9 million for the Synodex segment. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For calendar year 2025, we anticipate that capital expenditures for ongoing technology, equipment, new platform development, and infrastructure upgrades will approximate to $11.0 million, a portion of which we may finance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;margin:0pt 0pt 10pt 0pt;">Net Cash Used in Financing Activities</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Cash provided by financing activities for the year ended December 31, 2024 was $6.1 million, primarily from proceeds of stock option exercises of $6.7 million, offset in part by payment of long-term obligations of $0.5 million and withholding taxes on net settlement of restricted stock awards of $0.1 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Cash provided by financing activities for the year ended December 31, 2023 was $2.9 million primarily from proceeds of stock option exercises of $3.3 million, offset in part by payment of long-term obligations of $0.4 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Inflation, Seasonality and Prevailing Economic Conditions</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Although most of our revenues are denominated in U.S. dollars, a significant portion of our revenue is denominated in Canadian dollars, Pound Sterling and Euros. In addition, a significant portion of our expenses, primarily labor expenses in the Philippines, India, Sri Lanka, Germany, Canada and Israel, are incurred in the local currencies of the countries in which we operate. For financial reporting purposes, we translate all non-U.S. denominated transactions into U.S. dollars in accordance with U.S. GAAP. Thus, we are exposed to the risk that fluctuations in the value of these currencies relative to the U.S. dollar could have a direct impact on our revenues and our results of operations. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Philippines and India have at times experienced high rates of inflation as well as major fluctuations in the exchange rate between the Philippine peso and the U.S. dollar and the Indian rupee and the U.S. dollar. Canada has also experienced fluctuations in the exchange rate between the Canadian dollar and U.S. dollar. As of December 31, 2024, the aggregate notional amount of our hedges was $22.5 million consisting of approximately $10.7 million against the Canadian dollar, $6.7 million against the Philippine peso and $5.1 million against the Indian rupee. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Fluctuations in exchange rates also affect the value of funds held by our foreign subsidiaries. We do not currently intend to hedge these assets.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">42</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our most significant costs are the salaries and related benefits of our employees. We are exposed to high inflation in wage rates in the countries in which we operate. We generally perform work for our customers under project-specific contracts, requirements-based contracts or long-term contracts. We must adequately anticipate wage increases, particularly on our fixed-price contracts. There can be no assurance that we will be able to recover cost increases through increases in the prices that we charge for our services to our customers. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our quarterly operating results are subject to certain fluctuations. We experience fluctuations in our revenues and earnings as we replace and begin new projects, which may have some normal start-up delays, or we may be unable to replace a project entirely. These and other factors may contribute to fluctuations in our operating results from quarter to quarter. In addition, as some of our Asian facilities are closed during holidays in the fourth quarter, we typically incur higher wages, due to overtime, that reduces our margins. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our Synodex subsidiary experiences seasonal fluctuations in revenues. Typically, revenue is lowest in the third quarter of the calendar year and highest in the fourth quarter of the calendar year. The seasonality is directly linked to the number of life insurance applications received by the insurance companies.</p><a id="_59ad5768_791c_4d6a_b05b_f72a397c153b"></a><a id="Item7AQuantitativeandQualitativeDisclosu"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Item 7A. Quantitative and Qualitative Disclosures About Market Risk.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Not applicable to smaller reporting companies.</p><a id="_3ea7746a_2987_4e59_a009_46bc9de5edac"></a><a id="Item8FinancialStatementsandSupplementary"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 8pt 0pt;">Item 8. Financial Statements and Supplementary Data.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">See Financial Statement Index and Financial Statements commencing on page F-1, which are incorporated by reference herein.</p><a id="_491463e8_09bd_440b_8d72_cbe7652d9720"></a><a id="Item9ChangesinandDisagreementswithAccoun"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 8pt 0pt;">Item 9. Changes in and Disagreements with Accountants on Accounting and Financial Disclosure.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">None.</p><a id="_2c13d508_541d_4b31_9e9e_264929055aa2"></a><a id="Item9AControlsandProcedures_741867"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 8pt 0pt;">Item 9A. Controls and Procedures.</p><a id="EvaluationofDisclosureControlsandProcedu"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 8pt 0pt;">Evaluation of Disclosure Controls and Procedures</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">We maintain disclosure controls and procedures (as such term is defined in Rules 13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934, as amended (Exchange Act), that are designed to ensure that information required to be disclosed in the reports we file or submit under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in the Securities and Exchange Commission&#8217;s rules and forms, 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. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">Under the supervision, and with the participation of our management, including our principal executive officer and our principal financial officer, we conducted an evaluation of the effectiveness of our disclosure controls and procedures, as defined under Exchange Act Rule 13a-15(e), as of December 31, 2024. Based on this evaluation, our principal executive officer and our principal financial officer concluded that, as of December 31, 2024, our disclosure controls and procedures were effective.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">43</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="ManagementsAnnualReportonInternalControl"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">Management&#8217;s Annual Report on Internal Control over Financial Reporting </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">Our management is responsible for establishing and maintaining adequate internal control over our financial reporting. Internal control over financial reporting is a process designed to provide reasonable assurance regarding the reliability of our financial reporting and the preparation of financial statements for external purposes in accordance with U.S. GAAP. Internal control over financial reporting includes maintaining records that in reasonable detail accurately and fairly reflect our transactions and disposition of assets; providing reasonable assurance that transactions are recorded as necessary for preparation of our financial statements; providing reasonable assurance that receipts and expenditures of company assets are made in accordance with management and director authorization; and providing reasonable assurance that unauthorized acquisition, use or disposition of company assets that could have a material effect on our financial statements would be prevented or detected on a timely basis. Because of its inherent limitations, internal control over financial reporting is not intended to provide absolute assurance that a misstatement of our financial statements would be prevented or detected. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">Under the supervision and with the participation of the Company&#8217;s Chief Executive Officer and Interim Chief Financial Officer, management conducted an evaluation of the effectiveness of our internal control over financial reporting based on the framework in <i style="font-style:italic;">Internal Control - Integrated Framework (2013) -</i> issued by the Committee of Sponsoring Organizations of the Treadway Commission (COSO). Based on this evaluation, management concluded that the Company&#8217;s internal control over financial reporting was effective as of December 31, 2024. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">This Annual Report on Form 10-K does not include an attestation report of our independent registered public accounting firm regarding internal control over financial reporting. Management&#8217;s report was not subject to attestation by our independent registered public accounting firm pursuant to rules of the Securities and Exchange Commission that permit us to provide only management&#8217;s report in this Annual Report on Form 10-K.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 8pt 0pt;">Changes in Internal Control over Financial Reporting</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">There were no changes in our internal control over financial reporting (as such term is defined in Rules 13a-15(f) or 15d-15(f) under the Exchange Act) during the three months ended December 31, 2024 that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.</p><a id="_d9461e27_d831_45c2_b225_f614dcc041dc"></a><a id="Item9BOtherinformation_297006"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 8pt 0pt;">Item 9B. <ix:nonNumeric contextRef="Duration_10_1_2024_To_12_31_2024_e94n7merh0i_5dugZ2QBLQ" format="ixt:fixed-false" name="ecd:Rule10b51ArrAdoptedFlag" id="Narr_aSgRyfkV70i3zj7I_NBZoA">Other</ix:nonNumeric> <ix:nonNumeric contextRef="Duration_10_1_2024_To_12_31_2024_e94n7merh0i_5dugZ2QBLQ" format="ixt:fixed-false" name="ecd:NonRule10b51ArrAdoptedFlag" id="Narr_qaZHMTBCWkin0_aSOtL3ag">inform</ix:nonNumeric><ix:nonNumeric contextRef="Duration_10_1_2024_To_12_31_2024_e94n7merh0i_5dugZ2QBLQ" format="ixt:fixed-false" name="ecd:Rule10b51ArrTrmntdFlag" id="Narr_EGN6LaFrKU28vL9PkcKxDg">ation</ix:nonNumeric>.</p><a id="Rule10b51TradingPlans_571148"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><ix:nonNumeric contextRef="Duration_10_1_2024_To_12_31_2024_e94n7merh0i_5dugZ2QBLQ" format="ixt:fixed-false" name="ecd:NonRule10b51ArrTrmntdFlag" id="Narr_uLMtzQiBd02h3ITVdsttfA"><span style="font-style:italic;font-weight:bold;">Rule 10b5-1 Trading Plans </span></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">During the quarter ended December 31, 2024, none of the Company&#8217;s directors or officers informed the Company of the adoption or termination of a &#8220;Rule 10b5-1 trading arrangement&#8221; or &#8220;non-Rule 10b5-1 trading arrangement,&#8221; as those terms are defined in Regulation S-K, Item 408.</p><a id="_f664cb55_ba5f_4d09_b005_7b661f10e8fa"></a><a id="Item9CHoldingForeignCompaniesAccountable"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">Item 9C. Disclosure Regarding Foreign Jurisdictions that Prevent Inspections</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">None.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">44</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_b7564f46_40d3_456a_8ee8_7c45a93f0a19"></a><a id="PARTIII_465627"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">PART III</b></p><a id="Item10DirectorsExecutiveOfficersandCorpo"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 9pt 0pt;">Item 10. Directors, Executive Officers and Corporate Governance. </p><a id="_Hlk157514098"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 9pt 0pt;">The information called for by Items 401, 405, if required, and 407(c)(3), (d)(4) and (d)(5) of Regulation S-K, including information about our directors and executive officers, is incorporated by reference from the Company&#8217;s definitive proxy statement for the 2025 Annual Meeting of Stockholders to be filed pursuant to Regulation 14A under the Exchange Act no later than 120 days after the end of the Company&#8217;s 2024 fiscal year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 9pt 0pt;">The Company has a code of ethics that applies to all of its employees, officers, and directors, including its principal executive officer, principal financial officer, principal accounting officer and corporate controller. The text of the Company&#8217;s code of ethics is posted on its website at www.innodata.com. The Company intends to disclose future amendments to, or waivers from, certain provisions of the code of ethics for executive officers and directors in accordance with applicable Nasdaq and SEC requirements.</p><a id="_9fe66348_b1e4_4504_ae52_992ffa75962b"></a><a id="Item11ExecutiveCompensation_531235"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 9pt 0pt;">Item 11. Executive Compensation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 9pt 0pt;">The information called for by Item 11 is incorporated by reference from the Company&#8217;s definitive proxy statement for the 2025 Annual Meeting of Stockholders to be filed pursuant to Regulation 14A under the Exchange Act no later than 120 days after the end of the Company&#8217;s 2024 fiscal year.</p><a id="_5a8a9207_0df8_465f_96d1_4a66e5cb07e7"></a><a id="Item12SecurityOwnershipofCertainBenefici"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 9pt 0pt;">Item 12. Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 9pt 0pt;">The information required by this Item regarding the Company&#8217;s equity compensation plans is set forth in Part II, Item 5 of this Annual Report on Form 10-K under the caption &#8220;Securities Authorized for Issuance Under Equity Compensation Plans&#8221; and is incorporated by reference herein. The information called for under Item 403 of Regulation S-K by Item 12 is incorporated by reference from the Company&#8217;s definitive proxy statement for the 2025 Annual Meeting of Stockholders to be filed pursuant to Regulation 14A under the Exchange Act no later than 120 days after the end of the Company&#8217;s 2024 fiscal year.</p><a id="_51e67983_62bd_4595_922f_4307fdddaa1d"></a><a id="Item13CertainRelationshipsandRelatedTran"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 9pt 0pt;">Item 13. Certain Relationships and Related Transactions, and Director Independence.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 9pt 0pt;">The information called for by Item 13 is incorporated by reference from the Company&#8217;s definitive proxy statement for the 2025 Annual Meeting of Stockholders to be filed pursuant to Regulation 14A under the Exchange Act no later than 120 days after the end of the Company&#8217;s 2024 fiscal year.</p><a id="_771ec471_9d7c_479d_a921_dd893092deb5"></a><a id="Item14PrincipalAccountantsFeesandService"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 9pt 0pt;">Item 14. Principal Accountant&#8217;s Fees and Services.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 9pt 0pt;">The information called for by Item 14 is incorporated by reference from the Company&#8217;s definitive proxy statement for the 2025 Annual Meeting of Stockholders to be filed pursuant to Regulation 14A under the Exchange Act no later than 120 days after the end of the Company&#8217;s 2024 fiscal year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">45</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_8b77d9b7_d61b_4081_aa10_b91908e34976"></a><a id="PARTIV_284649"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">PART IV</b></p><a id="Item15ExhibitsFinancialStatementSchedule"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 9pt 0pt;">Item 15. Exhibits and Financial Statement Schedules.</p><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:8pt;margin-top:0pt;text-align:justify;">(a)(1)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:8pt;margin-top:0pt;text-align:justify;">Financial Statements. The following Report of Independent Registered Public Accounting firm, consolidated financial statements, and accompanying notes are included in Item 8. Index to Financial Statements:</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 0pt 36pt;">Reports of Independent Registered Public Accounting Firms.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 0pt 36pt;">Consolidated Balance Sheets as of December 31, 2024 and 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 0pt 36pt;">Consolidated Statements of Operations and Comprehensive Income (Loss) for the years ended December 31, 2024 and 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Consolidated Statements of Stockholders&#8217; Equity for the years ended December 31, 2024 and 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">Consolidated Statements of Cash Flows for the years ended December 31, 2024 and 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 8pt 0pt;"><span style="display:inline-block;text-align:left;width:36pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">(a)(2)</span></span>Exhibits - See Exhibit Index attached hereto, which is incorporated by reference herein.</p><a id="_d76c2205_7603_43cd_8d76_fa4a83d5fd77"></a><a id="Item16Form10KSummary_864079"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Item 16. Form 10-K Summary.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">None.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">46</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_a41dfcab_6bd8_4d4c_a5f8_7a5310f3b1ef"></a><a id="SIGNATURES_267162"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 10pt 0pt;">SIGNATURES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Pursuant to 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.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:49.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:3.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:49.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:top;width:48.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">INNODATA INC.</p></td></tr><tr><td style="vertical-align:top;width:49.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:top;width:48.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:49.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">By:</p></td><td style="vertical-align:top;width:45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">/s/ Jack S. Abuhoff</p></td></tr><tr><td style="vertical-align:top;width:49.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:45%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Jack S. Abuhoff</p></td></tr><tr><td style="vertical-align:top;width:49.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:49.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Chief Executive Officer and President</p></td></tr><tr><td style="vertical-align:top;width:49.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">February 24, 2025</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Pursuant to the requirements of the Securities Exchange Act of 1934, this report has been signed below by the following persons on behalf of the registrant and in the capacities and on the dates indicated.</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:32.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td></tr><tr><td style="vertical-align:top;width:32.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Signature</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:top;width:32.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Title</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:top;width:32.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Date</p></td></tr><tr><td style="vertical-align:top;width:32.25%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.24%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:32.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">/s/ Jack S. Abuhoff</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Chief Executive Officer and President</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">February 24, 2025</p></td></tr><tr><td style="vertical-align:top;width:32.25%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Jack S. Abuhoff</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">(Principal Executive Officer)</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:32.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">/s/ Marissa B. Espineli</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Interim Chief Financial Officer</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:32.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">February 24, 2025</p></td></tr><tr><td style="vertical-align:top;width:32.25%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Marissa B. Espineli</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">(Principal Financial Officer and<br/>Principal Accounting Officer)</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:32.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">/s/ Louise C. Forlenza</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Director</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">February 24, 2025</p></td></tr><tr><td style="vertical-align:top;width:32.25%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Louise C. Forlenza</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:32.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">/s/ Stewart R. Massey</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Director</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">February 24, 2025</p></td></tr><tr><td style="vertical-align:top;width:32.25%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Stewart R. Massey</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:32.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">/s/ Nauman (Nick) Toor</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Director (Chairman)</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">February 24, 2025</p></td></tr><tr><td style="vertical-align:top;width:32.25%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Nauman (Nick) Toor</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 8pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:0pt;margin:0pt 0pt 8pt 0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">47</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_408d232c_bf7b_442e_8ead_711848d6bd69"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">INNODATA INC. AND SUBSIDIARIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">INDEX TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr><td style="vertical-align:top;width:90%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">PAGE</b></p></td></tr><tr><td style="vertical-align:top;width:90%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:90%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#ReportofIndependentRegisteredPublicAccou"><span style="font-style:normal;font-weight:normal;">Report of the Independent Registered Public Accounting Firm</span></a> (BDO India LLP; Mumbai, India; PCAOB ID#<ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:AuditorFirmId" id="Narr_e8-w9KQpBEudoNzawwKc0A">6074</ix:nonNumeric></p></td><td style="vertical-align:bottom;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">F-2</p></td></tr><tr><td style="vertical-align:top;width:90%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:90%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#CONSOLIDATEDBALANCESHEETS_272503"><span style="font-style:normal;font-weight:normal;">Consolidated Balance Sheets as of December 31, 2024 and 2023 </span></a></p></td><td style="vertical-align:bottom;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">F-4</p></td></tr><tr><td style="vertical-align:top;width:90%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:90%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#CONSOLIDATEDSTATEMENTSOFOPERATIONSANDCOM"><span style="font-style:normal;font-weight:normal;">Consolidated Statements of Operations and Comprehensive Income (Loss) for the years ended December 31, 2024 and 2023</span></a></p></td><td style="vertical-align:bottom;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">F-5</p></td></tr><tr><td style="vertical-align:top;width:90%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr style="height:12.15pt;"><td style="vertical-align:top;width:90%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUI"><span style="font-style:normal;font-weight:normal;">Consolidated Statements of Stockholders&#8217; Equity for the years ended December 31, 2024 and 2023</span></a></p></td><td style="vertical-align:bottom;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">F-6</p></td></tr><tr><td style="vertical-align:top;width:90%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr style="height:10.8pt;"><td style="vertical-align:top;width:90%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#CONSOLIDATEDSTATEMENTSOFCASHFLOWS_654384"><span style="font-style:normal;font-weight:normal;">Consolidated Statements of Cash Flows for the years ended December 31, 2024 and 2023</span></a></p></td><td style="vertical-align:bottom;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">F-7</p></td></tr><tr><td style="vertical-align:top;width:90%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:90%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#a1DescriptionofBusinessandSummaryofSigni"><span style="font-style:normal;font-weight:normal;">Notes to Consolidated Financial Statements</span></a></p></td><td style="vertical-align:bottom;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">F-8</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-1</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_4739d556_d3b8_4473_832e_b92372e290f1"></a><a id="ReportofIndependentRegisteredPublicAccou"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Report of Independent Registered Public Accounting Firm</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;">Shareholders and Board of Directors</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;">Innodata Inc.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">Ridgefield Park, New Jersey</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Opinion on the Consolidated Financial Statements</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We have audited the accompanying consolidated balance sheets of Innodata Inc. (the &#8220;Company&#8221;) as of December 31, 2024 and 2023, the related consolidated statements of operations and comprehensive income (loss), stockholders&#8217; equity, and cash flows for each of the years 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 at December 31, 2024 and 2023, and the results of its operations and its cash flows for the years then ended, in conformity with accounting principles generally accepted in the United States of America.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Basis for Opinion</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">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 audits. 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.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the 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 audits we are required to obtain an understanding of internal control over financial reporting but not for the purpose of expressing an opinion on the effectiveness of the Company&#8217;s internal control over financial reporting. Accordingly, we express no such opinion.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our audits 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 audits 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 audits provide a reasonable basis for our opinion.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Critical Audit Matter</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">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) relates 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 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 separate opinions on the critical audit matter or on the accounts or disclosures to which it relates.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-2</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Measurement of the provision for income tax expenses</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 10pt 0pt;">Description of Matter</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company is subject to income taxes in multiple tax jurisdictions and during the ordinary course of business, there are many tax positions for which the ultimate tax determination is uncertain due to complexities of transfer pricing, changing tax laws, and is involved in various tax litigations with respective tax authorities. Uncertainties arise primarily from certain ongoing tax litigations and open tax years for its foreign subsidiaries. As described in Note 5 to the consolidated financial statements, at December 31, 2024, the Company has recorded unrecognized tax benefits of $1.0 million for uncertain tax positions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We identified measurement of accruals for the income tax exposures as a critical audit matter, as the amounts involved are material, and the determination of provision for taxes requires the Company to make judgments on tax issues and develop estimates regarding the Company&#8217;s exposure to tax risks. Further, auditing management judgments on whether the tax positions are probable of being sustained in tax assessments involves a high degree of subjectivity.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 10pt 0pt;">How the matter was addressed in our audit:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The primary procedures we performed to address this critical audit matter included:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Obtaining an understanding of management&#8217;s process of estimating the provision for income taxes including assessment of uncertain tax positions and those related to interpretation of tax laws and its application in the estimation of tax liabilities including uncertain tax positions.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Testing the completeness of ongoing tax litigation by obtaining direct confirmations from external tax consultants for select geographies. Also tested the arithmetical accuracy of various computation.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Involving tax professionals with specialized skill and knowledge in domestic and international taxes, who assisted in:</span></td></tr></table><div style="margin-top:10pt;"></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:54pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Reviewing and evaluating the Company&#8217;s data including assumptions used to determine the amount of tax benefit/expense to be recognized and tested the accuracy of the calculations</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:54pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">inspecting the correspondences and assessment orders with applicable tax authorities</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:54pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">evaluating the Company&#8217;s interpretation of tax laws, underlying facts and their potential impact on uncertain tax positions.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 6pt 0pt;">/S/&#160;<ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:AuditorName" id="Narr_dIuNt3GsRUGhHNC9kAR5KQ">BDO India LLP</ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 6pt 0pt;">We have served as the Company&#8217;s auditor since 2020.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="dei:AuditorLocation" id="Narr__DFEK8Em_EezxuGNt60tXQ">Mumbai</ix:nonNumeric>, India</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 6pt 0pt;">February 24, 2025</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-3</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_4292a605_a908_4870_bd03_d0dbdcfc0f20"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><a id="CONSOLIDATEDBALANCESHEETS_272503"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">CONSOLIDATED BALANCE SHEETS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">DECEMBER 31, 2024 AND 2023</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">(in thousands, except share and per share data)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><a id="_40181cfb_26db_4d0c_9a02_ebad032d3ced"></a><a id="Tc_ZKg_B_x-7USHKxRvBJMQUg_1_2"></a><a id="Tc_HBndMveFX0yQb_3SdRh1hQ_1_5"></a><a id="Tc_H1ajCBjdKkO_tWDKgARH7Q_2_0"></a><a id="Tc_Afn0VI7RVkGN7h9aqPPwHA_3_0"></a><a id="Tc_v6Y94AsXsUaj0k33ERSJtA_4_0"></a><a id="Tc_V7KbETqzikuk_LbHZmWyeg_4_2"></a><a id="Tc_zjDeHzMWakejATZ2iuCChA_4_5"></a><a id="Tc_ihFHhIP4lEKVE-h-qLcEoQ_5_0"></a><a id="Tc_lkP6fk04NE-mZp2YcVmMDg_6_0"></a><a id="Tc_-D1HPqFgkEu177cwfL7pAA_7_0"></a><a id="Tc_-G_oZoaL0kyMqheAVmWStg_8_0"></a><a id="Tc_PXFmH7SEHkevW1HcNReJXg_9_0"></a><a id="Tc_bwzp_TotFECq9dhBHW29ag_10_0"></a><a id="Tc_1l611tXu4EGBgMog4M-QwA_11_0"></a><a id="Tc_U-joBnqRfECaqHdhIjUmtQ_12_0"></a><a id="Tc_0dWLSyV3eU2P6VAQPoEQQQ_13_0"></a><a id="Tc_8Qp2UetlBkmZG3P_LfaUaA_14_0"></a><a id="Tc_CRH8GNkAVUO2O1UnlmsIrA_15_0"></a><a id="Tc_r03jbXR1p06MjyssB5JZog_15_2"></a><a id="Tc_EYV32kYrJU2M0QxiVb9PUA_15_5"></a><a id="Tc_sNB1ZtoV0UKM0w6t7boWag_16_0"></a><a id="Tc__Ot1OyLE7kGzpgxJ49tzxg_17_0"></a><a id="Tc__1xCJNTlakWl4PrCaC4n9g_18_0"></a><a id="Tc_K1M4Zxqrak2-5uTPDX18eA_18_2"></a><a id="Tc_hVUzKcU9dkaIh_AsZWxJYw_18_5"></a><a id="Tc_o_hpKSFaL024elb5YQ1HuQ_19_0"></a><a id="Tc_62Sf2ky2f0inzgEgVICiwA_20_0"></a><a id="Tc_-9BPqGfkPEO6EsrU7PqoQw_21_0"></a><a id="Tc_MDzUf2aLoUSIWEWizyKP4Q_22_0"></a><a id="Tc_-KjLjcdNs0qm2R7ea81bKw_23_0"></a><a id="Tc_PSGXFuMHPES-JfjQV1CCzQ_24_0"></a><a id="Tc_zCZ_IbIz0k6Gdhqg2VWzBA_25_0"></a><a id="Tc_o3AxjpocrUGlx7Rpm2j9Kw_26_0"></a><a id="Tc_RpYkCmlrO0mReDG0LmmEnw_27_0"></a><a id="Tc_wIUERZW0JEWWaf4IaShIDA_28_0"></a><a id="Tc_Gu6T-WoiQ0-mbTXoMdIRMw_29_0"></a><a id="Tc_14pcBjiS1EqU6M-5H0vHAQ_31_0"></a><a id="Tc_N_mQqOraq02jO8IhV3n-sA_33_0"></a><a id="Tc_5zla-jtmPke-DVE9xVdsSQ_34_0"></a><a id="Tc_DLW43GxZHEqsRRecMuCpJQ_35_0"></a><a id="Tc_YbblRmU7skqdAYHsythZ6Q_36_0"></a><a id="Tc_wtyOs62vKkuBqS2CUqbv4Q_37_0"></a><a id="Tc_F1YWK96NL06s17f8cFaB4A_38_0"></a><a id="Tc_ih8ObciRR06h4laRfIKBbg_39_0"></a><a id="Tc_CjukqTWtd0O7Qe0Cp77WAA_41_0"></a><a id="Tc_UueUH7nQGky-kLqxAlhkfQ_42_0"></a><a id="Tc_4v5usuISvESdZS1M7cD7GQ_43_0"></a><a id="Tc_GJo7h4RKxUCCNVtOecZs2g_43_2"></a><a id="Tc_OfIfdcNOoEGmJx7fXX2UzQ_43_5"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">ASSETS</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Current assets:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_yXBSAibpDkWKHlur5AZ1Ag_4_3">46,883</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_2ik7g50PqUCKdtl5DScRSg_4_6">13,806</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Short term investments - other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherShortTermInvestments" scale="3" id="Tc_0rJvrrCnSEidIHv1kJAlLA_5_3">14</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherShortTermInvestments" scale="3" id="Tc_d7Hf0Di0a0OehFu2C-56jQ_5_6">14</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Accounts receivable, net of allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_XL9Hir8hE0CnUHtGCRCKiw_6_3">28,013</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_zUhv1Wl1OE-cBq_Z2G9xMA_6_6">14,288</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Tc_coAuwkNXXEigyNDlzQkNfA_7_3">6,090</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Tc_ad2LOFi3k0eEcBIdRCok2w_7_6">3,969</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Total current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_6kO8sn-YpkmCs2Fulb_Y4Q_8_3">81,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_tOQLPUSWG0iiKOw_9PpbMg_8_6">32,077</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Property and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="Tc_KskicRdwvUmPctDPUdlIgg_9_3">4,101</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="Tc_ZxRpC8fgNEm0tBohiItvmQ_9_6">2,281</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Right-of-use-asset, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="Tc_xocGmPHaNUuYI9Jh5tTKww_10_3">4,238</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="Tc_8tmSFs3-AEuIdwZDHR7Bow_10_6">5,054</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Other assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="Tc_TUD6pQBe-UGFqPuVgNnnug_11_3">1,267</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="Tc_F8xmCP0-WUy2qd_AJ6_9Qw_11_6">2,445</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Deferred income taxes, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_u2NJV-gSJkK9VvxiWcLoLA_12_3">7,492</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_BvYVs9TFUUOTBB038Ox3ng_12_6">1,741</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Intangibles, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="Tc_Zzbsxv3jr06yiFDDVGtlFg_13_3">13,353</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="Tc_1XpwBi4nwEiEHBTaDMbkEg_13_6">13,758</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="3" id="Tc_Ps0sIpNl8UKB58_RgvG_kw_14_3">1,998</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="3" id="Tc_sikJPPHvYEKRJbeSSu-CTg_14_6">2,075</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 24pt;"><b style="font-weight:bold;"> Total assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" id="Tc_OSyW76cZUEy5yHYPZBwHyg_15_3">113,449</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" id="Tc_7m3Huv2Cfky7zv_Yq91GuQ_15_6">59,431</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">LIABILITIES, NON-CONTROLLING INTERESTS AND STOCKHOLDERS' EQUITY</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Current liabilities:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsPayableCurrent" scale="3" id="Tc_9hVORRAAUEyuytrSdJKs2w_18_3">4,554</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsPayableCurrent" scale="3" id="Tc_wVpxVvuO8UqtlzBmx05NfA_18_6">2,662</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Accrued expenses </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" id="Tc_2wE9kG3920-XbL4FEvcqcw_19_3">4,891</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" id="Tc_XfQxuSCAVEuiKXGek_HTbQ_19_6">3,060</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Accrued salaries, wages and related benefits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="3" id="Tc_rPxlvFsLKUGlFytbYKxWGA_20_3">13,836</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="3" id="Tc_SDmicTQMi0aYEJcD3Asgcw_20_6">7,799</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Deferred revenues </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_3bNvJbynpU6BAefQ5yW5cw_21_3">8,010</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_dgU1y0SKf06aPJFnD-ySgw_21_6">3,523</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Income and other taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TaxesPayableCurrent" scale="3" id="Tc_ZjmPOjV8uEWDDylZWkNXLA_22_3">5,695</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TaxesPayableCurrent" scale="3" id="Tc_FBFETS9U_U61CTSeWhMhdA_22_6">3,848</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Long-term obligations - current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:CurrentPortionOfLongTermObligations" scale="3" id="Tc_wsWjWeHIGUe7N8vDf60piw_23_3">1,643</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:CurrentPortionOfLongTermObligations" scale="3" id="Tc_MDLqsAXPzkC0VmSJ6ReBJw_23_6">1,261</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Operating lease liability - current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_kqWn15pzaE6TMiEaEIgoWg_24_3">877</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_5wM_kr5RLUa1LQHCyrnOYw_24_6">782</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;"> Total current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_5QcylRSLE0KMcbyoGDQCig_25_3">39,506</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_xTw2oiqdvkWnx52SrHzKug_25_6">22,935</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Deferred income taxes, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_6XHeVL2a_EibfMANYzAtjQ_26_3">32</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_KKJi0A80kEG_kE2SFtmvaw_26_6">22</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Long-term obligations, net of current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:NoncurrentPortionOfLongTermObligations" scale="3" id="Tc_M3c7IxIVP0ygaJIXkgAQBg_27_3">6,744</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:NoncurrentPortionOfLongTermObligations" scale="3" id="Tc_sPSX9X1wwEawaGC303NHOw_27_6">6,778</ix:nonFraction></p></td></tr><tr><td style="vertical-align:middle;white-space:nowrap;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Operating lease liability, net of current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_scZorTKmIUeSYjorPEmmgA_28_3">3,778</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_FmIdcNsZGkai3EXfODcMRg_28_6">4,701</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Total liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Liabilities" scale="3" id="Tc_TIJ_bbZUEUaFsgEHW3bXkQ_29_3">50,060</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Liabilities" scale="3" id="Tc_RJv4Q0ibvU6iKwz1ylGnJg_29_6">34,436</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Commitments and contingencies</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_xsLURGSe4k2KXes4-rEENA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">-</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_49_KtRx5xU-gcwyRt55A9w;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">-</span></span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Non-controlling interests</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount" sign="-" scale="3" id="Tc_IMBEpRVkx02xVuESetihPw_33_3">83</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount" sign="-" scale="3" id="Tc_I-LkoYwi_k6cwAyWKM7Ptg_33_6">708</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">STOCKHOLDERS&#8217; EQUITY</b>:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Serial preferred stock; <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:PreferredStockSharesAuthorized" scale="0" id="Narr_wcalBIvnqEWAwXWoyPaD9Q"><ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:PreferredStockSharesAuthorized" scale="0" id="Narr_AyWOkc6EtkShJCOYKzE_yg">4,998,000</ix:nonFraction></ix:nonFraction> shares authorized, <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:PreferredStockSharesOutstanding" scale="0" id="Narr_ZDYsGN_HwkmVoW4noqeTRg"><ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:PreferredStockSharesOutstanding" scale="0" id="Narr_bu18FUWlNkq6ZJYVuzVP0Q">none</ix:nonFraction></ix:nonFraction> issued and outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_E9tF80qJYESw5AxDuGStLA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">-</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_vs-L0KUflE-ct85yt3pDLw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">-</span></span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Common stock, $<ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_WU8MXuleVESXwhQcHlqMUA"><ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_rlkCvVL0pk-nJ0yGt37EDw">.01</ix:nonFraction></ix:nonFraction> par value; <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="Narr_HyHLnPUUQkC2PNeWfYLU7g"><ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="Narr_MYoo6kLFx0i_76AjYAQmOQ">75,000,000</ix:nonFraction></ix:nonFraction> shares authorized; <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_2bJQBANz1EKVLHY-JkY2Uw">34,484,000</ix:nonFraction> shares issued and <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" id="Narr_UYCXp7XTa0afrA3i9W8vqQ">31,300,000</ix:nonFraction> outstanding at December 31, 2024 and <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_4ySjd_aTWkuGo5CXWZktLA">31,937,000</ix:nonFraction> shares issued and <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" id="Narr_dLFM_c_DfUawp1YQyK1siw">28,753,000</ix:nonFraction> outstanding at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_wo0txQZSPEyOp7cC6iDhQA_36_3">345</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_NjW_otrEi0GCKgigmer1bg_36_6">320</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Additional paid-in capital</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdditionalPaidInCapital" scale="3" id="Tc_ACb7s0dugkGb_LmZetxa7Q_37_3">53,085</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdditionalPaidInCapital" scale="3" id="Tc_pJ83GokLJU-envJV5kfHHQ_37_6">43,152</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Retained earnings (deficit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="Tc_39PI3Md4NE67T_uFXsLqog_38_3">18,977</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" sign="-" scale="3" id="Tc_tUzwxGryYkKryBuaz3FcHw_38_6">9,683</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Accumulated other comprehensive loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_CrFaopcpmkW1ed-4q7s2pA_39_3">2,470</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_Ux8TXjNKq06cvoQQxcZo-Q_39_6">1,621</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityBeforeTreasuryStock" scale="3" id="Tc_5wCbZix2o0iPYw04iBgPSg_40_3">69,937</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityBeforeTreasuryStock" scale="3" id="Tc_4zG2sx1o50WRVexjJYvo3A_40_6">32,168</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Less: treasury stock, <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockCommonShares" scale="0" id="Narr_ujZWYESy20eS-nPLZNttow"><ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockCommonShares" scale="0" id="Narr_yM-kwJVr40qpY0xUmDvjkA">3,184,000</ix:nonFraction></ix:nonFraction> shares at December 31, 2024 and 2023, at cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockValue" scale="3" id="Tc_N_5LC4_8ykmmdvXIPWj5lQ_41_3">6,465</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockValue" scale="3" id="Tc_nkqf9uH9BUCy8kVD639qCw_41_6">6,465</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 18pt;">Total stockholders&#8217; equity</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_4fsDxQbGNkSuRX1shhYhCQ_42_3">63,472</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc__HX7LhlmhUC7sRfxOHxjNg_42_6">25,703</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;"><b style="font-weight:bold;">Total liabilities, non-controlling interests and stockholders&#8217; equity</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc_CxhrieM3lUmiDyuJ-BHN9Q_43_3">113,449</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc_NWs1uhoetE6cqHO-weFskg_43_6">59,431</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:8pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:36pt;margin:0pt;">See notes to consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-4</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_792ca070_e52c_4b36_a90c_13e9392eb11e"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><a id="CONSOLIDATEDSTATEMENTSOFOPERATIONSANDCOM"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (LOSS)</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">(In thousands, except per share amounts)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-weight:bold;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><a id="_1504d9e2_31cc_496e_bcb5_c0e4e6bb89b7"></a><a id="Tc_K4GKQdUnrUWuqx0HSWaUxw_1_2"></a><a id="Tc_C5twy6dwh0qeubQ5lukEoA_1_5"></a><a id="Tc_ZIqwmfvl8ku6isrU0W_-8g_2_0"></a><a id="Tc_d0PEFcP1ZEKX41YE_5NL9w_2_2"></a><a id="Tc_JRCqYeYxx0mhDavuGLiPCA_2_5"></a><a id="Tc_C009z4XEik-5bqfaS88CDg_3_0"></a><a id="Tc_36En-Lg99E-iEoH4GFtCjw_4_0"></a><a id="Tc_MycSZ0aFgkO8LyZZ9mBKTw_5_0"></a><a id="Tc_x8jqDE1TwEWZnhTA4OxPtA_7_0"></a><a id="Tc_KZR0WyVIaUSZh_5RWXqYZg_9_0"></a><a id="Tc_pKt5QuGd2kCww8hUMZcnjQ_11_0"></a><a id="Tc_I4uaDvSL3kOSOPBlpwB5CQ_13_0"></a><a id="Tc_E2zimq6DAkCpu9coKEgbbQ_15_0"></a><a id="Tc_zK8cmSJZ-kqMHGEHX1xpaQ_15_2"></a><a id="Tc_tgwyJg1n6UulGbC9efoRzQ_15_5"></a><a id="Tc__-TRJWWodEOYZdnLo95kgg_17_0"></a><a id="Tc_MUtOXXkjcUK81U6iP_hZBA_18_0"></a><a id="Tc_AamQRTzjs0O8YGgy7zMYnA_18_2"></a><a id="Tc_9H4FSP0UxkapVjuBg_lNvA_18_5"></a><a id="Tc_UO5WDv0GSEO2455FJkkjiQ_19_0"></a><a id="Tc_aSllfTXqm06WAhFSn3IIZg_19_2"></a><a id="Tc_UFj46kIqpUqzSquZg2zIcA_19_5"></a><a id="Tc_8TMgsOfTwkek38tIdw8Myg_21_0"></a><a id="Tc_paJjFMuKREaOdZVNxGxUIA_22_0"></a><a id="Tc_OgzkQB6LmkieeSpvy5VpWQ_23_0"></a><a id="Tc_oIF4FSWZ7UOJUkqBVmN0kA_25_0"></a><a id="Tc_fY2-sZ-4cU-apezH7j4ZrA_26_0"></a><a id="Tc_mFKHYtTNAEeBJ3BK8IwpUw_26_2"></a><a id="Tc_EclDtISg2kymf6m7h-4cog_26_5"></a><a id="Tc_iovsMdF4D0mvm3l0Ggd-3g_27_0"></a><a id="Tc_9kPr1t3hFEqShmNBONBlHQ_28_0"></a><a id="Tc_qefGHIJzukKnQ4mMZ9N6FQ_29_0"></a><a id="Tc_zTB5LrYuLEqItLpzGrqKLw_30_0"></a><a id="Tc_T-1K5O5lsEi-Kcu-0Aw_7w_31_0"></a><a id="Tc_DJZMuOcUlUafAknH2Or9EQ_32_0"></a><a id="Tc_xOA-4G4MyUaRPNvJN0LSJA_33_0"></a><a id="Tc_-fH3nW0Y_ka3ATwtlwUFQA_33_2"></a><a id="Tc_PA3FN2IKTUam5FkCSLmJDQ_33_5"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_4s--ny_Hs0e5r0O1o9ATdQ_2_3">170,461</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_pe6xY7GDzUa_mUhD3Pkvwg_2_6">86,775</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Direct operating costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DirectOperatingCosts" scale="3" id="Tc_Ml527W-aMEmBPTafjo-Q8g_3_3">103,387</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DirectOperatingCosts" scale="3" id="Tc_8OrH7km-Bkudh1pw-pLF_A_3_6">55,482</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Selling and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_CduQJ-t2Pk2FP-f-2f5xNw_4_3">42,738</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_iOHa9nwVn0Cp1bg_lekNJQ_4_6">30,975</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Interest (income) expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InterestIncomeExpenseNonoperatingNet" scale="3" id="Tc_HS5x_EkvkkqrY_OweYpZHw_5_3">149</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InterestIncomeExpenseNonoperatingNet" sign="-" scale="3" id="Tc_uZhqWQBS-UiWrFRroXzf8g_5_6">179</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 6pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostsAndExpenses" scale="3" id="Tc_vJDx6VNmZUKmU4UBPqrBHQ_6_3">145,976</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostsAndExpenses" scale="3" id="Tc_q_HXpUOm90uUqgOUHKcj-Q_6_6">86,636</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Income before provision for income taxes</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_iJbZ4c_qAkyZWdm-G4EC1g_7_3">24,485</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_XSPIM0uR4U6O_Wjc48ti1Q_7_6">139</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_UDdnYbBN6kq3lR_cUe1k8w_9_3">4,190</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_IecDz4ccK0Grq5E0Lft4Lw_9_6">1,028</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Consolidated net income (loss)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_bGP1eIREVEiGKhX4-28OIw_11_3">28,675</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" sign="-" scale="3" id="Tc_G-qqLHjVF0mZMQpyvVfl1Q_11_6">889</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Income attributable to non-controlling interests</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="Tc_XZ_80ODfo0mThxhuk0-0Mw_13_3">15</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="Tc_Abwv1O1KwUGxlOVUxg_fzA_13_6">19</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net Income (loss) attributable to Innodata Inc. and Subsidiaries</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_BrGONUNt0ECZBrxW4Ia84g_15_3">28,660</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" sign="-" scale="3" id="Tc_p5mNnrgOW02MWIV5hv8x7g_15_6">908</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Income (loss) per share attributable to Innodata Inc. and Subsidiaries:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_yLSErO7mB0adeh9G9ixkSw_18_3">0.98</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" sign="-" scale="0" id="Tc_RPGB1vtAmE2Wl87oc-dz5g_18_6">0.03</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_5lkOPJw9zUuFfaujf8i2yw_19_3">0.89</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" sign="-" scale="0" id="Tc_xoLe7raa_0KU9aOOfRC-fQ_19_6">0.03</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 6pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted average shares outstanding:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Basic </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="Tc_HTPB2sxNJka5StCkePRfKg_22_3">29,163</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="Tc_hXAgkj-M_E6AGmmp0huJ7g_22_6">28,131</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="Tc_iybKGyljCU2OauMJfy2vdQ_23_3">32,177</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="Tc_OANbeRK1sUmceh_mdI2_Lg_23_6">28,131</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 6pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Comprehensive income (loss):</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Consolidated net income (loss)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_j0OVvjFXC02TPALM3Mv2QA_26_3">28,675</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" sign="-" scale="3" id="Tc_4tfhP6e-4Uqbr4KFLAVYVg_26_6">889</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Pension liability adjustment, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" sign="-" scale="3" id="Tc_8aN7ZFeNqkW0P-w_hHZ8Rg_27_3">179</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" scale="3" id="Tc_qqqwrEZA1UiHXtHhiERGhw_27_6">326</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" sign="-" scale="3" id="Tc_xIejb2OVQUiMIIqYpgwSzA_28_3">592</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="Tc_lUjHo9qVcUeN7gBqPRuqBw_28_6">407</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Change in fair value of derivatives, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" sign="-" scale="3" id="Tc_944IopjscUWvaMQw-Csp7g_29_3">436</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" id="Tc_B0dQWLrSsk-gR7VBiKwpGg_29_6">406</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Other comprehensive income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_wYtA722GfU6gxKdgDlSwXA_30_3">849</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" scale="3" id="Tc_HEw4vU_9g0u0l39ZB0jxzA_30_6">487</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Total comprehensive income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_OReVe7RIWEKWOACK4tZlyQ_31_3">27,826</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_6mfAer1mKUmhuzoEY2E42w_31_6">402</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Comprehensive income attributed to non-controlling interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" scale="3" id="Tc_rD5JHJWWxU280oNLkclhjA_32_3">15</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" scale="3" id="Tc_mB71gVLY1EuaGdkqRofm8Q_32_6">19</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Comprehensive income (loss) attributable to Innodata Inc. and Subsidiaries</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_UvdWo9ieZUyirIO78rQxwQ_33_3">27,811</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ComprehensiveIncomeNetOfTax" sign="-" scale="3" id="Tc_vR6LJbKzcEKiYeSXA7NhBw_33_6">421</ix:nonFraction>)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:36pt;margin:0pt;">See notes to consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-5</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_a48ac6bc_1058_4957_a30e_efaa06be6612"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><a id="CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUI"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">CONSOLIDATED STATEMENTS OF STOCKHOLDERS&#8217; EQUITY</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">YEARS ENDED DECEMBER 31, 2024 AND 2023</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">(In thousands)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_71fbbaf4_3c09_44c5_a93a_68ac58f7731d"></a><a id="Tc_T2c1f64PIEGoY6z4fR95iQ_1_13"></a><a id="Tc_8ixCfepPuk-7iSgkm-iGHw_2_7"></a><a id="Tc_Uo70cfglFkuIQ584bOSXUA_2_13"></a><a id="Tc_Yj3jgGH9NEm0NQozSZF4JQ_3_2"></a><a id="Tc_RtnkfwmLtUabrq2A3yOhFA_3_7"></a><a id="Tc_GvY2AKGAYkScr2ZxcoX0tg_3_10"></a><a id="Tc_MpVYukoE80mLrAWt4k8GOA_3_13"></a><a id="Tc_UN1Ya1MfWUijSeKBtnN2xA_3_16"></a><a id="Tc_Uyx09lJhVkq5f9rxf9hpqQ_4_2"></a><a id="Tc_Wde6ouo5tUOZxjAv9cJm5A_4_4"></a><a id="Tc_IGMDW_28qke8Wn4IosdDVw_4_7"></a><a id="Tc_ofpIUtEnl0uKXQV4kLIV6A_4_10"></a><a id="Tc_59i9KBFeQEiYTvV_APqBBQ_4_13"></a><a id="Tc_QuYmepcw_EK1Ore2d7aJuw_4_16"></a><a id="Tc_4-U2BMbvMk2GDbJrLs--Bg_4_18"></a><a id="Tc_5OeYBZ_uFESwOuokXwu35g_4_21"></a><a id="Tc_BwrRERZoeEmL9E6pkrkLkg_5_0"></a><a id="Tc_vSEYgtzwVkC9NXHk_VJMyA_6_0"></a><a id="Tc_WeeKRYdjZ0SXqpjPsWD-YQ_6_2"></a><a id="Tc_cG__6IUVskaek8Ps47dwWA_6_5"></a><a id="Tc_Yxhthi4okEKOSRFETEhH2Q_6_8"></a><a id="Tc_HPWEHxAdTka22508vj7KYw_6_14"></a><a id="Tc_wKBuZvFZzEyALEx_AMnSeQ_6_16"></a><a id="Tc_AVKE2c-zXEWMEPaloX1O6A_6_19"></a><a id="Tc_am4L5QMBWEeCwBYNtpDyIQ_7_0"></a><a id="Tc_KwJuVq_4DEux0oOJ3Li_Bg_7_2"></a><a id="Tc_tYNLZXgJXUyJfBcl7UrUZQ_7_5"></a><a id="Tc_Z3ulOqgjnEyfdN0yFA4PjA_7_11"></a><a id="Tc_EcXcqEmlqU6FANcpKfsqvA_7_14"></a><a id="Tc_sHbnf5yN8U-SRM6oAGMuqA_7_16"></a><a id="Tc_XU1PDm3k10udtmEvftFM1Q_7_19"></a><a id="Tc_q3nNuh8aWE-pnLbEmQCI2w_8_0"></a><a id="Tc_pgfR2_qYjk-zKUE3kWI6RQ_8_11"></a><a id="Tc_DhkhWgAYP02L-I0APDIoUw_8_14"></a><a id="Tc_eaMd_Evt9UOWEWfApYRDFw_8_16"></a><a id="Tc_uxFKVfyZoU6bvqGGiCI2UQ_8_19"></a><a id="Tc_89wlE4cMdESh70k7lhfj8Q_9_0"></a><a id="Tc_jFyjByaQjUqLozDM4ZCz2g_9_5"></a><a id="Tc_neMVgZZlbkuKXzPJXnvHNQ_9_8"></a><a id="Tc_WjTl5bW80UajNdUm7miiBA_9_11"></a><a id="Tc_l6k5pl05N0qH05gtgtq-sg_9_14"></a><a id="Tc_r3gW2wUD0USmR0kbNF7ufA_9_16"></a><a id="Tc_t0mkkUTxpUy_a7SBBlhYzw_9_19"></a><a id="Tc_MqTu5KHmAEGxCURcFu3Z2w_9_22"></a><a id="Tc_vYv7p7R_hE2uCf059cdo7w_10_0"></a><a id="Tc_MqVep8I3h0-QsubSyh1wXw_10_2"></a><a id="Tc_DBp0CQ4pfk6ms6AHYMcCrg_10_5"></a><a id="Tc_Of9NHv2NekqO3j1LW7kHJQ_10_8"></a><a id="Tc_pCQ223ZCgku7mv5JjrWweQ_10_11"></a><a id="Tc_0OPh6pJn-EiKhyCrEU1xGQ_10_16"></a><a id="Tc_hFVvFrvbMk-oEutpmb00QQ_10_19"></a><a id="Tc_8c_uZcELOk6ZIqPUuYEpxQ_11_0"></a><a id="Tc_D96xaq3nI0SGdtvvp78mcg_11_2"></a><a id="Tc_pvLj4GdmjUywyAAxXDroHg_11_5"></a><a id="Tc_HJ5OFXTay06l68ZjKM3gmw_11_8"></a><a id="Tc_nakU5D0cXEe5GLyjACfHgw_11_11"></a><a id="Tc_GWKJq-WWH0G-Ua9kupLV5Q_11_16"></a><a id="Tc_43In2A3hgkOzXuwPnf48wQ_11_19"></a><a id="Tc_rEszodnwtkCiHHzV4yXZfQ_12_0"></a><a id="Tc_guPEUBIkaEu4QT0eSTg-RQ_12_2"></a><a id="Tc_uh0jYEhqdkKbcyh8SybLqg_12_5"></a><a id="Tc_bI1brF2BgkeUn5M3PkMrKw_12_8"></a><a id="Tc_V9ROqNTJnEuiiBXX9-ulvA_12_11"></a><a id="Tc_CLU3S-MjGEWDiea1U5lkKg_12_16"></a><a id="Tc_F2S49ZjHeEasoWeXXLTHcw_12_19"></a><a id="Tc_IXPoBzpUz0S_wzvclfLTqA_13_0"></a><a id="Tc_yQAVI9XNX0SKpKVkRPIJhQ_14_0"></a><a id="Tc_LkAWrvUzSEOViaMQ_1vaQQ_14_2"></a><a id="Tc_7hLe9fvNREW40uKQV6ukXA_14_5"></a><a id="Tc_byezI7HZ5k-TwbeCFDX7Ow_14_8"></a><a id="Tc_nIsb7dTGD0qe348ylmM16g_14_14"></a><a id="Tc_Pg97bJzBFkyCqgxxcso1tA_14_16"></a><a id="Tc_cFYazgzlkEGa47eP3sY3Yw_14_19"></a><a id="Tc_AdQ2BZKqhUe676MBd55Dyg_15_0"></a><a id="Tc_64HswDiAQU2tbIDDDH1PpA_15_2"></a><a id="Tc_X97zLEmci0Olnruz6ZMfjA_15_5"></a><a id="Tc_9FBXAp8hyE6Tk3LJnWPUAw_15_11"></a><a id="Tc_7Uo1FqXM60KXGpJHjHTYsA_15_14"></a><a id="Tc_Z9Mf4NwSQUCMaJYOmYJrNw_15_16"></a><a id="Tc_kMFd_Bq4pEqR6yml_CQYQA_15_19"></a><a id="Tc_uhDbAlJfVEqEWTM2rrPePQ_16_0"></a><a id="Tc__DBcRqdqp0CHE5xkx1r78A_16_11"></a><a id="Tc_V6uxiihaNkarfcrsZJhhXw_16_14"></a><a id="Tc_8v5OTAG96Emrs_vlvNaBOQ_16_16"></a><a id="Tc_RHTNeWaA8kGIO6YBaFOYhA_16_19"></a><a id="Tc_gI1wSZJAN0KfliEPvRUF6A_17_0"></a><a id="Tc_Ps1PZ0TPMUy4I0NL6ojD6A_17_5"></a><a id="Tc_6G0Dul9rtUahi-P72ILxeg_17_8"></a><a id="Tc_hY2i3DbV80-XAtwg2w2bWA_17_11"></a><a id="Tc_h2ILNwj5QUSmka0DWkw-Lw_17_14"></a><a id="Tc_tjoQE0TbgUa8Q0TzQQPZeQ_17_16"></a><a id="Tc_FZhz3Md-j0Gd0yJcrDIRBg_17_19"></a><a id="Tc_DzCWlBtshEO0q8Zhy4_PUQ_17_22"></a><a id="Tc_S07mJcWjLk29oJv93u9qTQ_18_0"></a><a id="Tc_pRjfQBdX-UGlMV_xiFglkw_18_2"></a><a id="Tc_a6gWLZn2q0K1qpaTZOktDw_18_5"></a><a id="Tc_3klunS9KK0W4wFXov8x4hg_18_11"></a><a id="Tc_sOZGmE0LcEC_d5VN2EOefQ_18_14"></a><a id="Tc_IN4yDngS9UCeQUADFS7QHw_18_16"></a><a id="Tc_ZUZp8N9QCEWOTS-eo05hOA_18_19"></a><a id="Tc_DhFgk3mfPU-FGCfE_Cl35A_19_0"></a><a id="Tc_1NTJtBL3cEiUsbs7cgfSbA_19_2"></a><a id="Tc_R-CpQRkfDU2aQCQD4to2Wg_19_5"></a><a id="Tc_ilyBZ37QekiXQO9iNwMBRQ_19_11"></a><a id="Tc_LrvyUGb2Jk6nViOErn3itw_19_14"></a><a id="Tc_YJpSmyTqukq109JUHfnLag_19_16"></a><a id="Tc_4xXtrieOdE2rF8BPG8lSzw_19_19"></a><a id="Tc_LHjTKpPjiEqeEXe1VlTFcQ_20_0"></a><a id="Tc_Wjr0XEkUOEKz1MvGJdBn3A_20_2"></a><a id="Tc_z_XsudsvQkSgzHAGiKKybg_20_5"></a><a id="Tc_E2u9U_VU3EaImgd66cbnYA_20_8"></a><a id="Tc_ph2bkCFK-USW5sFA4sLaMg_20_11"></a><a id="Tc_RCh9XvAu70eyH2PhHiGOsg_20_16"></a><a id="Tc_yUByzt9-fkuUzCxqmL13AA_20_19"></a><a id="Tc_K3RSj-msB0uHFgXQqt3nYg_21_0"></a><a id="Tc_Cs1Ut6DDQEWH5pqjF-nscQ_21_2"></a><a id="Tc_lugSyDCqikqM93EjZzqXXA_21_5"></a><a id="Tc_GiEb0obL6UiOAgVnfLTYUQ_21_8"></a><a id="Tc_bcaA4Tbhj0eoFTWQ1Nuclg_21_11"></a><a id="Tc_7WV-4o_mpEaKgSsUYNB8zw_21_16"></a><a id="Tc_FVGvOtQFHkOyRLzt6qID-Q_21_19"></a><a id="Tc_bN9CPR9uO0-KNGKCvnrC5g_22_0"></a><a id="Tc_hzxb22OLh0aZ4SkN0tVBsA_22_2"></a><a id="Tc_WaR8MycXKUq_hioNkdMmHA_22_5"></a><a id="Tc_iPT3A8W0JU6u2zwrBhqDbg_22_8"></a><a id="Tc_wuZJiDIbjUKIdu_jaYpM7A_22_11"></a><a id="Tc_NHMfgdy68ECPr6OpYJ5ovg_22_16"></a><a id="Tc_hjxUyzEaE0iDzcGCnUai0A_22_19"></a><a id="Tc_h8kUYL536kqtJuxhVVzoaw_23_0"></a><a id="Tc_RTt0rrhC_Ua_j4aYS6jk5g_23_4"></a><a id="Tc_lHdMGa-niEmL1I0lPFny5g_23_7"></a><a id="Tc_k60EgTSN6U-_1XvV0oPnFQ_23_10"></a><a id="Tc_tb6A_iSu5Eq_71U0n-cbsA_23_13"></a><a id="Tc_MI_D6fWMy02ZzizSJ1sA-Q_23_18"></a><a id="Tc_CSgQAqZNcEK4g1u97AQKiw_23_21"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:31.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:31.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:31.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Additional</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:31.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:14.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Common&#160;Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Paid-in</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Retained</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Comprehensive</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:14.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Treasury Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:31.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Capital</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Earnings</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Loss</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:31.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">January 1, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_egytfkiAH0qoad7x1i3mMw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SharesOutstanding" scale="3" id="Tc_Jt90YBzHzkGLXLuDC0_1cw_5_2">30,589</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_egytfkiAH0qoad7x1i3mMw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_lk8katDQQky7a93zf5j_Jg_5_5">306</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_ShE4T_7_NkarxWPzA8RF3g" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_uy9QxC3sJUCAy6qLpnHdUQ_5_8">35,815</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_6yMIDHh6X02xbxdbay1Brw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_nXcChCtXFkKtJByqb0XqDA_5_11">8,775</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_ee1CIzcen0m5NhH2RNN34Q" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_M7IbXUZjH06ygwNDZb-cKA_5_14">2,108</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_6jQMVoiAsEqczvfr8DGh5w" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockCommonShares" sign="-" scale="3" id="Tc_2PmBG0cdaEG77VNM9Tw-LQ_5_16">3,184</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_6jQMVoiAsEqczvfr8DGh5w" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_3UCV78lDsUWe6S3BvHuY8g_5_19">6,465</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2022_WoVfVjcRzU6369CtXFJAWg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_4EZr7cFkP0CLhoa7ZmFTEw_5_22">18,773</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:31.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net loss attributable to Innodata Inc. and Subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_9fT9uSdqy0O4iRsMJVDdBQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" sign="-" scale="3" id="Tc_0iXR6CpWV0em34LQqDKBmw_6_11">908</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" sign="-" scale="3" id="Tc_Eb_luMbig0y8u-9NryAeKw_6_22">908</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:31.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Oj-lSX5ZT0qBDQ6HNFvFiw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_CSxrHwhvT0q5t51WeV-P2w_7_8">4,027</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_GorMK3Ca30mzaqRsOGylOQ_7_22">4,027</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:31.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Stock option exercises</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_rAscOWNTsk2zumVWHLnwCg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="3" id="Tc_tLSVvpROQkWRXKDhj9yg8Q_8_2">1,351</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_rAscOWNTsk2zumVWHLnwCg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_t_iMbjgU-0WI73NNbaWr-w_8_5">14</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Oj-lSX5ZT0qBDQ6HNFvFiw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_kcl89ZoX5k-QNT53KFQ7Og_8_8">3,310</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_Zyq8L4CUT0qjXh5Oy7fTYQ_8_22">3,324</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:31.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">Shares withheld for exercise net settlement  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_rAscOWNTsk2zumVWHLnwCg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" scale="3" id="Tc_AoVPwOE5PkGB24jQtm9ezQ_9_2">3</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:31.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Pension liability adjustments, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_7EVSMZ6DwUa94xKEQUjYlg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" scale="3" id="Tc_xt-ZPrOgCkOkt-sHjW8piw_10_14">326</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" scale="3" id="Tc_qRtUpkojKkyfksL_1XdnEw_10_22">326</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:31.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_7EVSMZ6DwUa94xKEQUjYlg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="Tc_OIS1sMCLTk2IKje7yjPqVA_11_14">407</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="Tc__5sKcLLYAU6g6RkJHYMWKA_11_22">407</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:31.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Change in fair value of derivatives, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_7EVSMZ6DwUa94xKEQUjYlg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" id="Tc_TtzjhWHnJkGLF35mkDK8-A_12_14">406</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" id="Tc_BttFx78gNUq_AdghYgEh-w_12_22">406</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:31.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_p_PZX76naUql9HYXXBjJ3Q" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SharesOutstanding" scale="3" id="Tc_vJtbvYGJVUKe9y_L-CBVMA_13_2">31,937</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_p_PZX76naUql9HYXXBjJ3Q" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_rM8KvjMZIkm1pV8Hn5V3bw_13_5">320</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_N_3EjNshDUq3PPmZyM-gKQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_8hSE_xgrmkyT-MJCioJziQ_13_8">43,152</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_pxApacqkV0O9k2EwxZy_-A" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_mBHx94Qc50Sj1PxUkzAGfw_13_11">9,683</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_V7v7ubfu6k6Xs9sp3gx4cg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_LnDscNpjxUia8z5X1iHzuA_13_14">1,621</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_LnHQUrJ0-kiftXtbNdvXSA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockCommonShares" sign="-" scale="3" id="Tc_hwwVXJ_lbke9sjFH4yFQKQ_13_16">3,184</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_LnHQUrJ0-kiftXtbNdvXSA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_W9Mg6aPe0EydCDcxUNwOpA_13_19">6,465</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_pums0tdLQUCFo-53udeDcw_13_22">25,703</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:31.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net income attributable to Innodata Inc. and Subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_L6FjkbeiQEqL6Nf8ptlZfg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_TbHJyKknNk2OuBIvY1hOMQ_14_11">28,660</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_DGvjTPTsTEW_HjW9LObfgg_14_22">28,660</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:31.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_bD8dJkXY7EiAehWPrCYChg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_4Lyix_Cw0EGMf8l0Iclztg_15_8">3,998</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_oZ8Www-uqEmc10qkInFR6A_15_22">3,998</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:31.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Stock option exercises</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_AcPvuwTUIUyHTVWxo6Bl1Q" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="3" id="Tc_GvekWQIRDkCAGY4Uh54bOw_16_2">2,506</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_AcPvuwTUIUyHTVWxo6Bl1Q" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_t81wPC2ibUGh361GCMwvzA_16_5">25</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_bD8dJkXY7EiAehWPrCYChg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_4Z08jFELtkGjEibbhiw-wg_16_8">6,643</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_0_TqCZ1AR0yqbPOJi7wx4w_16_22">6,668</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:31.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Restricted stock units vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_AcPvuwTUIUyHTVWxo6Bl1Q" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" scale="3" id="Tc_STc1PUU6NEeBzmFF1pHPJg_17_2">41</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:31.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">Shares withheld for restricted stock unit net settlement  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_bD8dJkXY7EiAehWPrCYChg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RestrictedStockValueSharesIssuedNetOfTaxWithholdings" sign="-" scale="3" id="Tc_LnSE3epCN0K9IxlHIBLw9A_18_8">97</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="Tc_HM_z9uQc2k-Q3VVmXdHLRQ_18_22">97</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:31.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Redemption of non-controlling interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_bD8dJkXY7EiAehWPrCYChg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalOther" sign="-" scale="3" id="Tc_ccWgXZqHSkmLgR-qtykBSg_19_8">611</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalOther" sign="-" scale="3" id="Tc_L_2WMECz8EC7Thamjjnymg_19_22">611</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:31.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Pension liability adjustments, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_jD5VrhScy06RSiAu49DIAA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" sign="-" scale="3" id="Tc_WALIF5C7nUWEiZgMvWG9Mw_20_14">179</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" sign="-" scale="3" id="Tc_1jnbMBJki0-UUZu6xIKkFw_20_22">179</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:31.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_jD5VrhScy06RSiAu49DIAA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" sign="-" scale="3" id="Tc_A2JKJ3N9K0en6py10Z8TzQ_21_14">592</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" sign="-" scale="3" id="Tc__6vJNNUAaUik7_Y8ATXBdA_21_22">592</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:31.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Change in fair value of derivatives, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_jD5VrhScy06RSiAu49DIAA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" sign="-" scale="3" id="Tc_Tgnv_YyKO0Cosnh5UpPERw_22_14">436</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" sign="-" scale="3" id="Tc_geNac8tMtEaZzjJ450iuaA_22_22">436</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:31.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_BviIBhrirESSkgraRDdqgg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SharesOutstanding" scale="3" id="Tc_EHG6eUYQxUW6B2YMWCxi1g_23_2">34,484</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.61%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_BviIBhrirESSkgraRDdqgg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_PG2WJWbj7kurcXyXMFlQjQ_23_5">345</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_fk-VZ9zSikWIXZIhj6xt2A" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_tBJ_pCIcUUu3MmY3wTXCBQ_23_8">53,085</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_CwhXtrb-b0SgkMQUjSZW0w" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_CMbbbrpPdEu1Y4ukDLDEcQ_23_11">18,977</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_CSRCPJe9v0OyfUwMc3gLkg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_4CrF5Wj8zkS4Z_Iu-oltMA_23_14">2,470</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_8vYuT3SzSUKXbb9D-_JT2A" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockCommonShares" sign="-" scale="3" id="Tc_W0AJqpR35kWL8fCJqBY6KQ_23_16">3,184</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_8vYuT3SzSUKXbb9D-_JT2A" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_m28r_OhmcEGNUE2dxIwA2Q_23_19">6,465</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_t2hx0I-t3EuDdeIziwDkPw_23_22">63,472</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:36pt;margin:0pt;">See notes to consolidated financial statements.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-6</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_96e4de46_4fb7_4741_b78a_0053bc8d45c3"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><a id="CONSOLIDATEDSTATEMENTSOFCASHFLOWS_654384"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">CONSOLIDATED STATEMENTS OF CASH FLOWS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">(In thousands)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-weight:bold;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><a id="_5b83ec4d_4cc0_4ab0_96e5_a76519025472"></a><a id="Tc_hURIOtvrm0uzmzQzsVISoQ_2_2"></a><a id="Tc_PyT-9pegbE2NrKV2uo5vRQ_2_5"></a><a id="Tc_CA-i7JDeDkqY5JC7D6lhzg_3_0"></a><a id="Tc_vG1S6cRRXUyg03v3iHUHzg_4_0"></a><a id="Tc_DOqd_KcVw0CqN9iZH_DI0A_4_2"></a><a id="Tc_JKxoFonxRUKrZMqJ2BbkqA_4_5"></a><a id="Tc_mAk0z9HGsECepf6ocalbVw_5_0"></a><a id="Tc_LnmHqbc-4EaIRRLLNGx2UQ_6_0"></a><a id="Tc_XGguCDXqY0efqswGTD3kXQ_7_0"></a><a id="Tc_HA47I6KCmkeg0IeCHoIzuQ_8_0"></a><a id="Tc__XlBhJvscUiPX5dhahUn4w_9_0"></a><a id="Tc_lJ0o15-9KUiP9GdErN0WWg_10_0"></a><a id="Tc_8ObMSymrEUmhmyn6v-eOLQ_11_0"></a><a id="Tc_Ac_rXdP4NUuuWFXDkoywNw_12_0"></a><a id="Tc_LzCpQnWLlUqiEENjTveBeA_13_0"></a><a id="Tc_Tloo2pu2dUi5E2F5YE3dRQ_14_0"></a><a id="Tc_yTyz6jQOUUSwQ6QuA6BU5w_15_0"></a><a id="Tc_fHcwREgSC0-TMUJ15inBkw_16_0"></a><a id="Tc_tTjDzopbFUWWj6uI7a8rQg_17_0"></a><a id="Tc_tVb-SvrV-k-5yd63P31LIA_18_0"></a><a id="Tc_6lo9cf4B-EOwy7xJUbGBww_19_0"></a><a id="Tc_yiJKZcbPKEiPqmt6yYELVQ_20_0"></a><a id="Tc_DJaykN87sUiPt3rzSCi_lQ_21_0"></a><a id="Tc_Dv5xej5N2068qBFbSAX0ag_22_0"></a><a id="Tc_YTxGp1iN2kWKVSampK854Q_22_3"></a><a id="Tc_a8q3kNI_BkWEeRv1B0gIvg_23_0"></a><a id="Tc_6NBheTZTXk-1LrCX-DgOWg_24_0"></a><a id="Tc_F0wsNhYW6EiSmuXaQnGW6g_25_0"></a><a id="Tc_dzcgf65L9kW4URE24xDczw_26_0"></a><a id="Tc_--HVdcQHM0eFJEhOVooSZQ_26_6"></a><a id="Tc_vsj0FjfJYU-NxFowZyrWRw_27_0"></a><a id="Tc_NerYIwCOqEOpG1qZF5FJCA_28_0"></a><a id="Tc_L-xkNWpRsUqpc81odYyyGQ_29_0"></a><a id="Tc_B4E_qnlNtk-jEG0E3s2yCA_30_0"></a><a id="Tc_qyrC5tJjV0Kfy2_2YF3qsg_31_0"></a><a id="Tc_Kcwdxf5V4EaR3y5DfuU0GA_32_0"></a><a id="Tc_ienelLAQOU6ml1VA7LvWXg_32_2"></a><a id="Tc_EoKytIY8K0yERDtli7BE_Q_32_5"></a><a id="Tc_afoM13mcz02zUXSPULx9og_33_0"></a><a id="Tc_jfY8rThXV0SmUOLJJMBjdA_34_0"></a><a id="Tc_Vs6MignSy0WrceIvkmlLDw_34_2"></a><a id="Tc_0q9VoOC8H0uG7PBwk5PdUQ_34_3"></a><a id="Tc_z0eyYtd_FkacG33h3k1WZw_34_5"></a><a id="Tc_G9G_S5tq0EaCPV8o3HFeVQ_35_0"></a><a id="Tc_gHsPeHLVKUyzkQ3igqeqow_35_2"></a><a id="Tc_8HRBIkPVpUeBopmeHUgA0A_35_5"></a><a id="Tc_Bd73jpaIak6D9EKq5mteIA_36_0"></a><a id="Tc_sBIC68dIPEGIL2gyioxlMQ_36_2"></a><a id="Tc_3cq9kZdiGU2MgS5B_EjzTQ_36_5"></a><a id="Tc_1zGf53h2KEapFDxxMT56uQ_37_0"></a><a id="Tc_H3Y8tKC2aUCzPHk1hxJiiw_37_2"></a><a id="Tc_AxcruEUjd0q-HtpCMjzZwg_37_5"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Cash flows from operating activities:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Consolidated net income (loss) </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_CYGMJkWu3U-LxiJZ1PeX2Q_4_3">28,675</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" sign="-" scale="3" id="Tc_smFlTdN530uHbc8CzwC_2Q_4_6">889</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Adjustments to reconcile consolidated net income (loss) to net cash provided by operating activities: </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc_yYhpe-34cUKbSqHEf0wNVg_6_3">5,796</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc_0XiHXlsfVkOL3vbyAkmwLw_6_6">4,716</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_Dv6lLKNZV0-_g2F_x0V7eA_7_3">3,998</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_wn9FpN-zCUmfbif-6xdBUA_7_6">4,027</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Deferred income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" sign="-" scale="3" id="Tc_C38td2cS90OUne6EiEiX_w_8_3">5,609</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" sign="-" scale="3" id="Tc_qv3M7e2e1kyGm7DLFAG26A_8_6">276</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Provision for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProvisionForLoanLossesExpensed" scale="3" id="Tc_LSYajEPIW0iHTdhF0ULSBQ_9_3">804</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProvisionForLoanLossesExpensed" scale="3" id="Tc_Wjc8lPNkpUOpCoitBvkYYA_9_6">426</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Pension cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedContributionPlanIncreaseDecreaseCost" scale="3" id="Tc_Q5dZLCeB9kS5FH2pih467g_10_3">1,237</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedContributionPlanIncreaseDecreaseCost" scale="3" id="Tc_A__-sPolR0CyATFm8LGIhA_10_6">1,046</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Changes in operating assets and liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="Tc_2W2ITaptoEe2fXOUygplnA_12_3">14,688</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="Tc_l_2Lj9l5a0u_kKUKHzyVfQ_12_6">5,116</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="Tc_RJNYmR_1z0yqnvUV05graQ_13_3">2,233</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" sign="-" scale="3" id="Tc_b-g179sa6E2DDO6_stoS1Q_13_6">372</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Other assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" sign="-" scale="3" id="Tc_F_9Om3SXgk6V-Tg4rE9i0g_14_3">1,177</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" scale="3" id="Tc_EB9ggAd5nU6CwQ0g9X4kjw_14_6">171</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Accounts payable and accrued expenses </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" scale="3" id="Tc_VC0KFF4nIECyuO7fa5plJQ_15_3">3,429</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" scale="3" id="Tc_LvMmTBtNpUy9ucn-3d8_AA_15_6">353</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Deferred revenues </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" id="Tc_Rr3n88t72kKbRZvwTbmgIQ_16_3">4,487</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" sign="-" scale="3" id="Tc__bzsUGE-zkGBpZhyUbnvDQ_16_6">843</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Accrued salaries, wages and related benefits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" scale="3" id="Tc_nqUU6YA93U-j3cRc9aXugg_17_3">6,063</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" scale="3" id="Tc_kiLC15N6gU6L3QZoqFmjmw_17_6">1,653</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Income and other taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccruedTaxesPayable" scale="3" id="Tc_-mra-5lXeEKKUxEivIVFLQ_18_3">1,879</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccruedTaxesPayable" scale="3" id="Tc_dOv7SMrIHEeb-ONuhIRYbw_18_6">605</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 18pt;">Net cash provided by operating activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="Tc_H1iclLTmJUiiqT7vllXx2A_19_3">35,015</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="Tc_wv6ymmAlXUOtKo8FA-UCag_19_6">5,903</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Cash flows from investing activities:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Capital expenditures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="Tc_OuPXYTpqBEuReIOc66IhWg_21_3">7,741</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="Tc_2ALlunybb0Gc0tGm_wHTkA_21_6">5,564</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Proceeds from short term investments - others </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsForProceedsFromShortTermInvestments" sign="-" scale="3" id="Tc_NaWKB6nl1k2fvfwSkgrMUQ_22_6">493</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 18pt;">Net cash used in investing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_JuokBggvxUCO3oLaKFtGuw_23_3">7,741</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_MJFTuH7EUUue5Ivpn31x6Q_23_6">5,071</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Cash flows from financing activities:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Proceeds from exercise of stock options </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="Tc_PS-Nh9JaS0OtFgdfRee_Jw_25_3">6,668</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="Tc_1MBAjERv10iR35E-lwBraQ_25_6">3,324</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Withholding taxes on net settlement of restricted stock units </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="Tc_oYZHLj91t0iUVF5MhpDq4Q_26_3">97</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Payment of long-term obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RepaymentsOfLongTermDebt" scale="3" id="Tc_9f1A5i21jEqzoK7fGZRCWw_27_3">513</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RepaymentsOfLongTermDebt" scale="3" id="Tc_DV7ICjHII0CakGB4KDP6eQ_27_6">452</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 18pt;">Net cash provided by financing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="Tc_BjzYGTqJr0Ow25-zJLhxZw_28_3">6,058</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="Tc_uhmZyQR-jkCm5-00_snuHw_28_6">2,872</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Effect of exchange rate changes on cash and cash equivalents</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" sign="-" scale="3" id="Tc_L7ohfY3KHkuYCaN3_s5DLA_29_3">255</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_nErK73mzmEirijWhXPtpbw_29_6">310</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net increase in cash and cash equivalents</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" id="Tc_-59LO6Cv9Ue1HExQeDYzHg_30_3">33,077</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" id="Tc_sQREW-4FC0G7yQekoXobsA_30_6">4,014</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Cash and cash equivalents, beginning of year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_Cb4x9pc9OEOyRxhMVzGoxA_31_3">13,806</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2022_WoVfVjcRzU6369CtXFJAWg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_ElirvCwUq0iVTkyNADbP_A_31_6">9,792</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Cash and cash equivalents, end of year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_PoblX8-UPk-dje8hNcyXiA_32_3">46,883</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_Y18uUrwFDUKqek7mX66M6A_32_6">13,806</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Supplemental disclosures of cash flow information:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Vendor financed software licenses acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="inod:VendorFinancedSoftwareLicensesAcquired" scale="3" id="Tc_18CH_aMwKUacW7SIy19Cew_34_6">1,162</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Cash paid for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxesPaid" scale="3" id="Tc_g8bicq-LLUGK5gKmWS3MrQ_35_3">2,418</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxesPaid" scale="3" id="Tc_tXxDZc316EiAJFkQtaeMcg_35_6">753</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Cash paid for operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeasePayments" scale="3" id="Tc_Ga7rrguRWEqcqeL93GBq-g_36_3">1,435</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeasePayments" scale="3" id="Tc_uwG6OqauQkCpipvilQgjPA_36_6">1,557</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Cash paid for interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_RsXE128QFUqnxBRf4qQcVg_37_3">287</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_89Pm5A_Oik62SY1gsCNi2Q_37_6">400</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">See notes to consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-7</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="a1DescriptionofBusinessandSummaryofSigni"></a><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" id="Tb_QtJ0tIPYf0eCnIf8jqyyNw" continuedAt="Tb_QtJ0tIPYf0eCnIf8jqyyNw_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">1. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Description of Business and Summary of Significant Accounting Estimates and Policies </p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:BusinessCombinationsPolicy" id="Tb_5XNKe_aBjUeJ-5c3JbwICA" continuedAt="Tb_5XNKe_aBjUeJ-5c3JbwICA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Description of Business</b> - Innodata Inc. (Nasdaq: INOD) (including its subsidiaries, the &#8220;Company&#8221;, &#8220;Innodata&#8221;, &#8220;we&#8221;, &#8220;us&#8221; or &#8220;our&#8221;) is a leading data engineering company. The Company&#8217;s mission is to help the world&#8217;s most prestigious companies deliver the promise of ethical, high-performing artificial intelligence (&#8220;AI&#8221;), which the Company believes will contribute to a safer and more prosperous world.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company was founded on a simple idea: engineer the highest quality data so organizations across broad industry segments could make smarter decisions. Today, the Company believes it is delivering the highest quality data for some of the world&#8217;s most innovative technology companies to use to train the AI models of the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">AI holds the promise that computers can perceive and understand the world, enabling products and services that would have been previously unimaginable and impossible with traditional coding. AI learns from data, and the highest-performing AI will have learned from the highest-quality data. The Company believes that it can contribute meaningfully by harnessing its capabilities, honed over 35+ years, in collecting and annotating data at scale with consistency and high accuracy.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company is also helping companies deploy and integrate AI into their operations and products and providing innovative AI-enabled industry platforms, helping ensure that its customers&#8217; businesses are prepared for a world in which machines augment human activity in ways previously unimaginable. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company developed its capabilities and honed its approaches progressively over the last 35+ years creating high-quality data for many of the world&#8217;s most demanding information companies. Approximately nine years ago, the Company formed Innodata Labs, a research and development center, to research, develop and apply machine learning and emerging AI to its large-scale, human-intensive data operations. In 2019, the Company began packaging the capabilities that emerged from its R&amp;D efforts in order to align with several fast-growing new markets and help companies use AI/ML to drive performance benefits and business insights.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s historical core competency in high-quality data, combined with these R&amp;D efforts in applied AI, created the foundation for the evolution of the Company&#8217;s offerings, which include AI Data Preparation, AI Model Deployment and Integration, and AI-Enabled Industry Platforms.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">AI Data Preparation</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For several of the world&#8217;s large technology companies, the Company supports their efforts at building generative AI foundation models. For these companies, the Company provides or is poised to provide a range of scaled data solutions and services. The Company&#8217;s scaled data solutions include providing instruction data sets for fine-tuning LLMs to understand prompts, to accept instruction, to converse, to apparently reason, and to perform the myriad of incredible feats that many of us have now experienced. The Company also provides reinforcement learning and reward modeling, services which are critical to provide the guardrails against toxic, bias and harmful responses, and model evaluation services. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For social media companies, financial services companies, and many others, the Company collects or creates training data, annotates training data, and trains AI algorithms for working with images, text, video, audio, code and sensor data. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company utilizes a variety of leading third-party tools, proprietary tools and customer tools. For text annotation, the Company uses its proprietary data annotation platform that incorporates AI to reduce cost while improving consistency and quality of output. The Company&#8217;s proprietary data annotation platform features auto-tagging capabilities that apply to both classical and generative AI tasks. The platform encapsulates many of the innovations the Company has conceived of in the course of its 35-year history of creating high-quality data.</p></ix:nonNumeric></ix:nonNumeric></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-8</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><ix:continuation id="Tb_QtJ0tIPYf0eCnIf8jqyyNw_cont1" continuedAt="Tb_QtJ0tIPYf0eCnIf8jqyyNw_cont2"><ix:continuation id="Tb_5XNKe_aBjUeJ-5c3JbwICA_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In addition, because collecting real-world data is often impracticable (due to data privacy regulations or rarity of cohorts and outliers), the Company creates high-quality synthetic data that maintains all of the statistical properties of real-world data, using a combination of domain specialists and machine technologies that leverage large language models (LLMs).</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">AI Model Deployment and Integration</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company helps businesses leverage the latest AI technologies to achieve their goals. The Company develops custom AI models (where it selects the appropriate algorithms, tunes hyperparameters, trains and validates the models, and updates the models as required). The Company also helps businesses fine-tune their own custom versions of the Company&#8217;s proprietary models and third-party foundation models to address domain-specific and customer-specific use cases.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For the Company&#8217;s customers that provide products and solutions that require intensive text data processing and analytics, in addition to deploying and integrating AI models, the Company often provides a range of data engineering support services including data transformation, data curation, data hygiene, data consolidation, data extraction, data compliance, and master data management.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s customers span a diverse range of industries and a wide range of AI use cases, benefiting from the short time-to-value and high economic returns of the Company&#8217;s AI solutions and platforms.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">AI-Enabled Industry Platforms</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s AI-enabled industry platforms address specific, niche market requirements the Company believes it can innovate with AI/ML technologies. The Company deploys these industry platforms as software-as-a-service (SaaS) and as managed services. These platforms benefit from the Company&#8217;s technology infrastructure, its industry-specific knowledge, its strong customer relationships and experience merging technology with the business processes of its customers. To date, the Company has built an industry platform for medical records data extraction and transformation (which the Company brands as &#8220;Synodex<sup style="font-size:8.25pt;line-height:100%;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;top:0pt;vertical-align:top;">&#174;</sup>&#8221;) and an industry platform for public relations (which the Company brands as &#8220;Agility PR Solutions&#8221;). The Company is in development with an additional AI-enabled industry platform to serve financial services institutions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s Synodex industry platform transforms medical records into useable digital data organized in accordance with its proprietary data models or customer data models. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s Agility industry platform provides marketing communications and public relations professionals with the ability to target and distribute content to journalists and social media influencers world-wide and to monitor and analyze global news (print, web, radio and TV) and social media.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s operations are presently classified and reported in <ix:nonFraction unitRef="Unit_Standard_segment_vYtCzY4wxUGW3JZsiWLCYw" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfReportableSegments" scale="0" id="Narr_7cCSytZ9vUOwxcOiUsoApQ">three</ix:nonFraction> reporting segments: Digital Data Solutions (DDS), Synodex and Agility.</p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;font-weight:bold;">Significant Accounting Policies and Estimates</span></p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ConsolidationPolicyTextBlock" id="Tb_SSBNbrt-aUO9DcxIFhQRTA" continuedAt="Tb_SSBNbrt-aUO9DcxIFhQRTA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Principles of Consolidation </b>-<b style="font-weight:bold;"> </b>The consolidated financial statements include the accounts of Innodata Inc. and its wholly owned subsidiaries, and Innodata docGenix, LLC, a limited liability company that was majority-owned by the Company during the year ended December 31, 2024. The minority interests of Innodata docGenix, LLC were redeemed by the Company on December 31, 2024.</p></ix:nonNumeric></ix:continuation></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-9</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><ix:continuation id="Tb_QtJ0tIPYf0eCnIf8jqyyNw_cont2" continuedAt="Tb_QtJ0tIPYf0eCnIf8jqyyNw_cont3"><ix:continuation id="Tb_SSBNbrt-aUO9DcxIFhQRTA_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The non-controlling interests in the docGenix limited liability company at December 31, 2023 had call and put options that can be settled in cash or stock. Accordingly, this is presented in temporary equity in accordance with Financial Accounting Standards Board (FASB) non-controlling interest guidance. All intercompany transactions and balances have been eliminated in consolidation.</p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:UseOfEstimates" id="Tb_Gu1hOTjrWUqh81YvDygJhA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Use of Estimates&#160;</b>- In preparing consolidated financial statements in conformity with U.S. GAAP, management is required to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities as of the date of the consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. Management believes that the estimates and assumptions used in the preparation of the consolidated financial statements are reasonable. Actual results could differ from those estimates. Significant estimates include those related to the allowance for credit losses and billing adjustments, useful life of long-lived assets, useful life of intangible assets, impairment of goodwill and intangible assets, valuation of deferred tax assets, valuation of stock-based compensation, pension benefit plan assumptions, litigation accruals and estimated accruals for various tax exposures.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:RevenueRecognitionPolicyTextBlock" id="Tb_SgNU3ppjAkCjaoeFlShtAg" continuedAt="Tb_SgNU3ppjAkCjaoeFlShtAg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Revenue Recognition&#160;</b>- The Company&#8217;s revenue is recognized when services are rendered or goods are delivered to a customer, in an amount that reflects the consideration that the Company expects to receive in exchange for those services or goods as per the agreement with the customer. In cases where there are agreements with multiple performance obligations, the Company identifies each performance obligation and evaluates whether the performance obligations are distinct within the context of the agreement at the agreement&#8217;s inception. Performance obligations that are not distinct at agreement inception are combined. For agreements with distinct performance obligations, the Company allocates the transaction price to each distinct performance obligation proportionately based on the estimated standalone selling price for each performance obligation, if any, and then evaluates how the services are performed for the customer to determine the timing of revenue recognition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For the Digital Data Solutions (DDS) segment, revenue is recognized primarily based on the quantity delivered or resources utilized in the period in which services are performed and performance conditions are satisfied as per the agreement. Revenue from agreements billed on a time-and-materials basis is recognized as services are performed. Revenue from fixed-fee agreements, which is not significant to overall revenues, is recognized based on the proportional performance method of accounting, as services are performed, or milestones are achieved.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For the Synodex segment, revenue is recognized primarily based on the quantity delivered in the period in which services are performed and performance conditions are satisfied as per the agreement. A portion of the Synodex segment revenue is derived from licensing the Company&#8217;s functional software and providing access to the Company&#8217;s hosted software platform. Revenue from such services is recognized monthly when all parties to the agreement have agreed to the agreement; each party&#8217;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; access to the service is provided to the end user; and collection is probable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Agility segment derives its revenue primarily from subscription arrangements and provision of enriched media analysis services. It also derives revenue as a reseller of corporate communication solutions. Revenue from subscriptions is recognized monthly when access to the service is provided to the end user; all parties to the agreement have agreed to the agreement; each party&#8217;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; and collection is probable. Revenue from enriched media analysis services is recognized when the services are performed, and performance conditions are satisfied. Revenue from the reseller agreements is recognized at the gross amount received for the goods in accordance with the Company functioning as a principal due to the Company meeting the following criteria: the Company acts as the primary obligor in the sales transaction; assumes the credit risk; sets the price; can select suppliers; and is involved in the execution of the services, including after sales service.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Revenue associated with the services provided in one period and billed in a subsequent period is commonly referred to as unbilled revenues and is included under Accounts receivable.</p></ix:nonNumeric></ix:continuation></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-10</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><ix:continuation id="Tb_QtJ0tIPYf0eCnIf8jqyyNw_cont3" continuedAt="Tb_QtJ0tIPYf0eCnIf8jqyyNw_cont4"><ix:continuation id="Tb_SgNU3ppjAkCjaoeFlShtAg_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company considers U.S. GAAP criteria for determining whether to report gross revenue as a principal versus net revenue as an agent. The Company evaluates whether it is in control of the services before the same are transferred to the customer to assess whether it is principal or agent in the arrangement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Contract acquisition costs, which are included in prepaid expenses and other current assets, are amortized over the term of a subscription agreement or contract that normally has a duration of <ix:nonNumeric contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" format="ixt-sec:durwordsen" name="us-gaap:CapitalizedContractCostAmortizationPeriod" id="Narr_ViMfigMdLEKUq1IV4fEK3w">12 months</ix:nonNumeric> or less. The Company reviews these prepaid acquisition costs on a periodic basis to determine the need to adjust the carrying values for early terminated contracts. Included in prepaid expenses and other current assets on the accompanying consolidated balance sheets are contract acquisition costs amounting to $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" scale="6" id="Narr_W0Fnf2n3Qkyj8LK-wr2dUQ">1.1</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" scale="6" id="Narr_z4_dGtQeG0e3xsh-pLsWXA">0.8</ix:nonFraction> million for the years ended December 31, 2024 and 2023 , respectively. These acquisition costs relate to our Agility segment and are amortized using the straight-line method over the term of the subscription agreement.</p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" id="Tb_RxT57PPxEE-j_KRuaop59w" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Foreign Currency Translation&#160;</b>- The functional currency of the Company&#8217;s subsidiaries in the Philippines, India, Sri Lanka, Israel, Hong Kong, the U.K. and Canada (other than the Agility subsidiaries) is the U.S. dollar. Transactions denominated in Philippine pesos, Indian and Sri Lankan rupees, Israeli shekels, U.K. pound sterling and Canadian dollars are translated to U.S. dollars at rates which approximate those in effect on the transaction dates. Monetary assets and all liabilities denominated in foreign currencies on December 31, 2024 and December 31, 2023 are translated at the exchange rate in effect as of those dates. Non-monetary assets and stockholders&#8217; equity are translated at the appropriate historical rates. Included in direct operating costs were foreign exchange (gains) losses resulting from such translations of approximately ($<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" scale="6" id="Narr_o-Qd68LLW0qPyMHhLCC43Q">0.2</ix:nonFraction>) million and $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" sign="-" scale="6" id="Narr_CrJimvqE50OcpI-svvJrxQ">0.4</ix:nonFraction> million for the&#160;years ended December 31, 2024 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The functional currency for the Company&#8217;s subsidiary in Germany is the Euro. The functional currencies for the Company&#8217;s Agility subsidiaries in the U.K. and Canada are the Pound Sterling and the Canadian dollar, respectively. The financial statements of these subsidiaries are prepared in their respective currencies. Financial information is translated from the applicable functional currency to the U.S. dollar (the reporting currency) for inclusion in the Company&#8217;s consolidated financial statements. Income, expenses, and cash flows are translated at weighted-average exchange rates prevailing during the fiscal period, and assets and liabilities are translated at fiscal period-end exchange rates. Resulting translation adjustments are included as a component of accumulated other comprehensive income loss in stockholders&#8217; equity. Foreign exchange transaction gains or losses are included in direct operating costs in the accompanying consolidated statements of operations and comprehensive income.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:DerivativesPolicyTextBlock" id="Tb_p7Pl-ER_5kWFB6kyc8223g" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:12.0pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Derivative Instruments&#160;- </b>The Company accounts for derivative transactions in accordance with the FASB&#8217;s Accounting Standards Codification (&#8220;ASC&#8221;) Topic 825, &#8220;Financial Instruments&#8221;. For derivative instruments that are designated and qualify as cash flow hedges, the entire change in fair value of the hedging instrument is recorded in Other comprehensive income (loss). When the amounts recorded in Other comprehensive income (loss) are reclassified to earnings, they are included as part of Direct operating costs. For derivative instruments that are not designated as hedges, any change in fair value is recorded directly in earnings as part of Direct operating costs. The total notional value of designated outstanding foreign currency forward contracts was $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ForeignCurrencyContractAssetFairValueDisclosure" scale="6" id="Narr_XiHm8ruiL0W6NagF0IugcA">22.5</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ForeignCurrencyContractAssetFairValueDisclosure" scale="6" id="Narr_7-NZwpegjkiqeoumGz1jtQ">10.5</ix:nonFraction> million as of December 31, 2024 and 2023, respectively.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:CashAndCashEquivalentsPolicyTextBlock" id="Tb_M0__ksxan0u0ISWvBGjXSQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Cash Equivalents&#160;- </b>For financial statement purposes, the Company considers all highly liquid instruments purchased with an original maturity of three&#160;months or less to be cash equivalents.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:InvestmentPolicyTextBlock" id="Tb_aXVCYqn9XUWpbrxd6xmSTw" continuedAt="Tb_aXVCYqn9XUWpbrxd6xmSTw_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Short term Investments-other&#160;- </b>For financial statement purposes, the Company considers investments made in time deposits and treasury bills having an original maturity of more than three months but less than one year from the balance sheet date under short term investments.</p></ix:nonNumeric></ix:continuation></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-11</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><ix:continuation id="Tb_QtJ0tIPYf0eCnIf8jqyyNw_cont4" continuedAt="Tb_QtJ0tIPYf0eCnIf8jqyyNw_cont5"><ix:continuation id="Tb_aXVCYqn9XUWpbrxd6xmSTw_cont1"></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ConcentrationRiskCreditRisk" id="Tb_yngcOVuy5EuX-zxzEIJUng" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Concentration of Credit Risk&#160;-</b> The Company maintains its cash with highly rated financial institutions, located in the United States and in foreign locations where the Company has its operations. At December 31, 2024, the Company had cash and cash equivalents of $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="6" id="Narr_Jf5SsIvVy06ELFdDKb2vTQ">46.9</ix:nonFraction> million, of which $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_srt_AsiaMember__bWFAUrycEafPJpnR29Jmw" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="6" id="Narr_Uu_wYiWue0S69oia3LwPvg">17.9</ix:nonFraction> million was held by its foreign subsidiaries and $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_US_MYl3p3GHYUaoOcHGs6RTWA" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="6" id="Narr_h6bw0yGBpUWZwsWsopQeWA">29.0</ix:nonFraction> million was held in the United States. To the extent that such cash exceeds the maximum insurance levels, the Company is uninsured. The Company has not experienced any losses in such accounts.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:TradeAndOtherAccountsReceivablePolicy" id="Tb_I_fMZTMYvUa1ix4W8S7VKA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Accounts Receivable&#160;-</b> Accounts receivable is generally recorded at the invoiced amounts, net of an allowance for expected losses. The Company establishes credit terms for new customers based upon management&#8217;s review of their credit information and project terms, and performs ongoing credit evaluations of its customers, adjusting credit terms when management believes appropriate based upon payment history and an assessment of the customer&#8217;s current creditworthiness.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We record an allowance for credit losses for estimated losses resulting from the failure of our customers to make the required payments and provisions for billing adjustments relating to quality issues on delivered services. The allowance for credit losses is based on a review of specifically identified accounts and an overall aging analysis applied to accounts pooled based on similar risk characteristics. Judgments are made with respect to the collectability of accounts receivable within each pool based on historical experience, current payment practices, and current economic trends based on our expectations over the expected life of the receivables, generally ninety days or less. Actual credit losses could differ from those estimates.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock" id="Tb_qkm8PMnErUCLFQFdOARaxw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Property and Equipment</b>&#160;<b style="font-weight:bold;">- </b>Property and equipment are stated at cost and are depreciated on the straight-line method over the estimated useful lives of the related assets, which is generally <span style="-sec-ix-hidden:Hidden_JBYbhKVqzEGL0mHdEk0dxw;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">two</span></span> to <span style="-sec-ix-hidden:Hidden_hPmr4tYES0iTF5TyWe2ahg;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">ten years</span></span>. Leasehold improvements are amortized on a straight-line basis over the shorter of their estimated useful lives or the terms of the leases. Certain assets under capital leases are amortized over the lives of the respective leases or the estimated useful lives of the assets, whichever is shorter.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" id="Tb_w1L5W8144ECiST2Ex6ljPQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Capitalized Developed Software - </b>The Company incurs development costs related to software it develops for its internal use. Qualifying costs incurred during the application development stage are capitalized. These costs primarily consist of internal labor and third-party development costs and are amortized using the straight-line method over the estimated useful life of the capitalized developed software, which generally ranges from <span style="-sec-ix-hidden:Hidden_tEUnEellt0mU_k_YoZWk7Q;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">three</span></span> to <ix:nonNumeric contextRef="As_Of_12_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_qwpqTP9sVEuIY51pu28Ing" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Narr_pYa3nbAF5k-SB51demDfmA">ten years</ix:nonNumeric>. All other research and maintenance costs are expensed as incurred. Capitalized developed software in progress as of December 31, 2024 and 2023 were $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_InProcessResearchAndDevelopmentMember_NGuznsOl_kG1xy8i1jD-HQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="6" id="Narr_QtoVo_D7EEO3AskFG-fNcA">3.6</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_InProcessResearchAndDevelopmentMember_32-BbV39KkeI3npA9bh9TA" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="6" id="Narr_n1oYvQp9C0KNoxhMKVVC8Q">3.5</ix:nonFraction> million, respectively. The cumulative completed capitalized developed software as of December 31, 2024 and 2023 was $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_xMtDoOyH10CNZDutgw8TdA" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="6" id="Narr_YbK-N7XAHUOFDjF4OrGy1A">19.8</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_wehGlPdWwkCiksPnqZCVXA" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="6" id="Narr_8Lnx1-gT1Eqkq_Wze7GBNQ">15.2</ix:nonFraction> million, respectively.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" id="Tb_zdGHSnkALk6kYzRyJfDN7w" continuedAt="Tb_zdGHSnkALk6kYzRyJfDN7w_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Long-lived Assets&#160;-</b> Management assesses the recoverability of its long-lived assets, whenever events or changes in circumstances indicate that the carrying value may not be recoverable. The following factors, if present, may trigger an impairment&#160;review: (i)&#160;significant&#160;underperformance relative to expected historical or projected future operating results; (ii)&#160;significant negative industry&#160;or&#160;economic&#160;trends; (iii)&#160;significant decline in the Company&#8217;s stock price&#160;for&#160;a&#160;sustained&#160;period;&#160;and&#160;(iv)&#160;a&#160;change&#160;in the Company&#8217;s market capitalization relative to net book value. If the recoverability of these assets is unlikely because&#160;of&#160;the&#160;existence&#160;of one or more of the above-mentioned factors, an&#160;impairment analysis is performed, using undiscounted cash flow&#160;projections. Management makes assumptions regarding estimated future cash flows and other factors to determine the fair value of these respective assets. An impairment loss will be recognized only if the carrying value of a long-lived asset is not recoverable and exceeds its fair value and is measured as the amount by which the carrying amount of a long-lived asset exceeds its fair value.</p></ix:nonNumeric></ix:continuation></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-12</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><ix:continuation id="Tb_QtJ0tIPYf0eCnIf8jqyyNw_cont5" continuedAt="Tb_QtJ0tIPYf0eCnIf8jqyyNw_cont6"><ix:continuation id="Tb_zdGHSnkALk6kYzRyJfDN7w_cont1"></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock" id="Tb_g_tEc_LST0uluj-L3-UX7Q" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Goodwill and Other Intangible Assets</b>&#160;<b style="font-weight:bold;">- </b>The Company performs a valuation of assets acquired and liabilities assumed on each acquisition accounted for as a business combination and allocates the purchase price of each acquired business to its respective net tangible and intangible assets and liabilities. Acquired intangible assets principally consist of technology, customer relationships, backlog and trademarks, having useful lives which range from <span style="-sec-ix-hidden:Hidden_GyFyEVe85kuWxhzAdg74oA;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">ten</span></span> to <ix:nonNumeric contextRef="As_Of_12_31_2024_srt_RangeAxis_srt_MaximumMember_9rlFfpQtP0C99Qd_6dkL_A" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Narr_02RrdzeZfUGsdlWJ2X-chw">twelve years</ix:nonNumeric>. The Company determines the appropriate useful life by performing an analysis of expected cash flows based on projected financial information of the acquired businesses. Intangible assets are amortized over their estimated useful lives using the straight-line method, which approximates the pattern in which the majority of the economic benefits are expected to be consumed. Intangible assets are amortized into direct operating costs ratably over their expected related revenue streams over their useful lives.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Goodwill represents the excess of the cost of an acquired entity over the fair value of the acquired net assets. The Company does not amortize goodwill but evaluates it for impairment at the reporting unit level annually during the third quarter of each fiscal&#160;year (as of September&#160;30 of that year) or when an event occurs, or circumstances change, that indicates the carrying value may not be recoverable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company performed its annual goodwill assessment for the Agility segment as of September 30, 2024 for impairment. The impairment test involves estimating the fair value based on a combination of income (estimates of future discounted cash flows) and the market approach (market multiples for similar companies) using unobservable inputs (Level 3). The Company concluded that there is <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt-sec:numwordsen" name="us-gaap:GoodwillImpairmentLoss" scale="0" id="Narr_HcNX5umnLE2t9wRV_r1W-w">no</ix:nonFraction> impairment of goodwill for the Agility segment.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:IncomeTaxPolicyTextBlock" id="Tb_-BeEzVWqWk-s2UMHJsr2kw" continuedAt="Tb_-BeEzVWqWk-s2UMHJsr2kw_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Income Taxes&#160;</b>- Estimated deferred taxes are determined based on the difference between the financial statement and tax basis of assets and liabilities, using enacted tax rates, as well as any net operating loss or tax credit carryforwards expected to reduce taxes payable in future&#160;years. A valuation allowance is provided when it is more likely than not that all or some portion of the estimated deferred tax assets will not be realized. While the Company considers future taxable income in assessing the need for the valuation allowance, in the event that the Company anticipates that it will be able to realize the estimated deferred tax assets in the future in excess of its net recorded amount, an adjustment to the provision for deferred tax assets would increase income in the period such determination was made. Similarly, in the event that the Company anticipates that it will not be able to realize the estimated deferred tax assets in the future considering future taxable income, an adjustment to the provision for deferred tax assets would decrease income in the period such determination was made. Changes in the valuation allowance from period to period are included in the Company&#8217;s tax provision in the period of change. The Company indefinitely reinvests the foreign earnings in its foreign subsidiaries. If such earnings are repatriated in the future, or are no longer deemed to be indefinitely reinvested, the Company would have to accrue as a liability the applicable amount of foreign jurisdiction withholding taxes associated with such remittances.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In assessing the realization of deferred tax assets, management considered whether it is more likely than not that all or some portion of the deferred tax assets of entities in the U.S., Canada, Germany and the U.K. will be realizable or not.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s assessment for the U.S. and the U.K. entities during the year ended December 31, 2024 yielded positive evidence enabling the release of the valuation allowance for the U.S. and the U.K. deferred tax assets under &#8220;ASC Topic 740-10-30-22 &#8211; Accounting for Income Taxes&#8221;.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">As the expectation of future taxable income of the Canadian and German entities cannot be predicted with reasonable accuracy, the Company maintains a valuation allowance against the deferred tax assets of these entities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company accounts for income taxes regarding uncertain tax positions, and recognizes interest and penalties related to uncertain tax positions in income tax expense in the consolidated statements of operations and comprehensive income.</p></ix:nonNumeric></ix:continuation></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-13</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_69900eff_f6c5_4273_96ec_7c2a0810f81b"></a><a id="Tc_MxDeHogLfkKAbdoHITcVpw_1_2"></a><a id="Tc_dtq3Lf0YdEWdC2I6JNjyFg_2_2"></a><a id="Tc_1o7W2iWXVEWTPz0HK0rHYg_2_5"></a><a id="Tc_hKEKFfMFGkSCi4bxNOTo4g_3_0"></a><a id="Tc_IrnVP00WG0Os4mChtamohQ_3_2"></a><a id="Tc_JxexmIGCjk2IcIgsLcwR9A_3_5"></a><a id="Tc_LK70x0xXg0yAQ2jdsYlH8A_4_0"></a><a id="Tc_Zc5urofZGkGLqr0PeHEDUg_5_0"></a><a id="Tc_4k94CmOp10Gy-Y_EsJFfhw_5_2"></a><a id="Tc_XnuMcvZfA0ycfYxcsdJsRA_5_5"></a><ix:continuation id="Tb_QtJ0tIPYf0eCnIf8jqyyNw_cont6" continuedAt="Tb_QtJ0tIPYf0eCnIf8jqyyNw_cont7"><ix:continuation id="Tb_-BeEzVWqWk-s2UMHJsr2kw_cont1"></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:LessorLeasesPolicyTextBlock" id="Tb_Ky03gAWQ10OOWCJWNCkqQw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Accounting for Leases&#160;</b>-<b style="font-weight:bold;"> </b>Accounting Standards for Codifications (ASC 842 &#8220;Accounting for Leases&#8221;) requires lessees to recognize most leases on their balance sheets as liabilities, with corresponding &#8220;right-of-use&#8221; assets. The Company recognizes a right-of-use asset and corresponding lease liability for all its operating leases. See Note 8, Operating Leases.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The determination of whether an arrangement is, or contains, a lease is based on the substance of the arrangement at the inception date and requires an assessment of whether the fulfillment of the arrangement is dependent on the use of a specific asset or assets, or the arrangement conveys a right to use the asset. A reassessment is made after inception of the lease only if one of the following applies:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">a.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">there is a change in contractual terms, other than a renewal or extension of the arrangement; </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">b.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">a renewal option is exercised, or extension granted, unless the term of the renewal or extension was initially included in the lease term; </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">c.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">there is a change in the determination of whether fulfillment is dependent on a specified asset; or </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">d.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">there is a substantial change to the asset. </span></td></tr></table><div style="margin-top:10pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Whenever a reassessment is made, lease accounting shall commence or cease from the date when the change in circumstances gave rise to the reassessment for scenarios (a), (c) or (d) and at the date of renewal or extension period for scenario (b).</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Leases where the lessor retains substantially all the risks and rewards of ownership are classified as operating leases. As of December 31, 2024, all of the Company&#8217;s leases are classified under operating leases. Operating lease payments are recognized as an operating expense on a straight-line basis over the lease term.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy" id="Tb_z0Kjja32D0uy_o6lqaOIag" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Accounting for Stock-Based Compensation&#160;-</b> The Company measures and recognizes stock-based compensation expense for all share-based payment awards made to employees and directors based on the estimated fair value at the grant date. The stock-based compensation expense is recognized over the requisite service period. The fair value of stock option grants is determined using the Black-Scholes option-pricing model and the fair value of restricted stock units is determined using the Binomial option pricing model. For restricted stock units which are time vested, the fair value is determined based on the grant date fair value.</p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock" id="Tb_HK0PLvbywkeqju0aIvpecw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The stock-based compensation expense related to the Company&#8217;s stock plans were allocated as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:61.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:61.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:35.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year&#160;Ended&#160;December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:61.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:61.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Direct operating costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockOptionPlanExpense" scale="3" id="Tc_wl0O97ZFgUeQQ-lQx6_NvQ_3_3">281</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockOptionPlanExpense" scale="3" id="Tc_xtTFBAtbWEKzapGjhbNk4A_3_6">294</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:61.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Selling and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherSellingGeneralAndAdministrativeExpense" scale="3" id="Tc_kJwvz8RSg0S-BayP08XqPg_4_3">3,717</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherSellingGeneralAndAdministrativeExpense" scale="3" id="Tc_cMYvBTfY5Uy65dsD2XnOAQ_4_6">3,733</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:61.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_l8W0m0scP06zdN9H5poYJQ_5_3">3,998</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_cZmeH5sfOEmMMJoo6LmdfA_5_6">4,027</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:FairValueOfFinancialInstrumentsPolicy" id="Tb_0_LSkSWEkUm7w2DObc4GTg" continuedAt="Tb_0_LSkSWEkUm7w2DObc4GTg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Fair Value of Financial Instruments&#160;</b>- The carrying amounts of financial instruments approximated their fair value as of December 31, 2024 and 2023, because of the relatively short maturity of these instruments. See Note&#160;16, Derivatives.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Fair value measurements and disclosures define fair value as the 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.</p></ix:nonNumeric></ix:continuation></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-14</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_013ce712_63e6_44da_b537_efb35c97b222"></a><a id="Tc_LhSxiaW15EicwMUdeJQKyw_1_2"></a><a id="Tc_AJTm-Uq8rEi8DWvP-GFdDA_2_2"></a><a id="Tc_kcQIHucT8kun4AzRtgdezg_2_5"></a><a id="Tc_KQPi-7rUgE6AP576owqoYw_3_0"></a><a id="Tc_SF7bAVgoPE6V_i-NapWnuA_3_2"></a><a id="Tc_1F-swuRDkU6iTBrdA6jKjQ_3_5"></a><a id="Tc_N9t34kUn7EGnbVAAoRZw9w_4_0"></a><a id="Tc_a1egShsOUkajz0a2e-aaRA_5_0"></a><a id="Tc_xuSvhvXLSUqnHnja_aBKFw_6_0"></a><a id="Tc_mrzceJEsQ0WwfHJz70upPQ_7_0"></a><a id="Tc_NHTN68u9bkyPlYNN6F2UJA_7_2"></a><a id="Tc_ZSMQ_84DL0GT5edxsmlUOg_7_5"></a><ix:continuation id="Tb_QtJ0tIPYf0eCnIf8jqyyNw_cont7" continuedAt="Tb_QtJ0tIPYf0eCnIf8jqyyNw_cont8"><ix:continuation id="Tb_0_LSkSWEkUm7w2DObc4GTg_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The accounting standard establishes a fair value hierarchy that prioritizes the inputs used to measure fair value into three levels. The three levels are defined as follows:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;">Level 1</i><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">: Unadjusted quoted price in active market for identical assets and liabilities.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;">Level 2:</i><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> Inputs other than those included in Level 1 that are observable for the asset or liability, 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></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;">Level 3:</i><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> Unobservable inputs reflecting management&#8217;s own assumptions about the inputs used in pricing the asset or liability.</span></td></tr></table><div style="margin-top:10pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s forward contracts are at level 2 in the fair value hierarchy.</p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:EarningsPerSharePolicyTextBlock" id="Tb_W2aB6TNuRESVTehdBofv-Q" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Income (Loss) per Share&#160;</b>- Income (loss) per share is computed using the weighted-average number of common shares outstanding during the&#160;year. Diluted income (loss) per share is computed by considering the impact of the potential issuance of common shares, using the treasury stock method, on the weighted average number of shares outstanding. For those securities that are not convertible into a class of common stock, the &#8220;two class&#8221; method of computing income (loss) per share is used.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:PensionAndOtherPostretirementPlansPensionsPolicy" id="Tb_d7LdZ5GLpEKHkaKOVqA48A" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Pension&#160;- </b>The Company records annual pension costs based on calculations, which include various actuarial assumptions including discount rates, compensation increases and other assumptions involving demographic factors. The Company reviews its actuarial assumptions on an annual basis and makes modifications to the assumptions based on current rates and trends. The Company believes that the assumptions used in recording its pension obligations are reasonable based on its experience, market conditions and inputs from its actuaries.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:RevenueFromContractWithCustomerPolicyTextBlock" id="Tb_7VSYlE6-50asjSz2V4z17Q" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Deferred Revenue&#160;</b>- Deferred revenue represents payments received from customers in advance of providing services and amounts deferred if conditions for revenue recognition have not been met. We expect to recognize substantially all of these performance obligations over the next 12 months. The balance of deferred revenues in the consolidated balance sheets amounted to $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DeferredRevenue" scale="6" id="Narr_ZE7_d9WMFEy1LMwLiUp-XA">8.0</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DeferredRevenue" scale="6" id="Narr_jT3-u_g3WE6BFRE8Pj3EBg">3.5</ix:nonFraction> million as of December 31, 2024 and 2023, respectively.</p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:DeferredRevenueByArrangementDisclosureTextBlock" id="Tb_cQQabi1SnECzmUdty0Ivhw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The table below provides information about contract liabilities (deferred revenue) and the significant changes in the balance for the years ended December 31, 2024 and 2023, respectively (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at the beginning of year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_KXSxcYCG60y-_gkrGFR88Q_3_3">3,523</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2022_WoVfVjcRzU6369CtXFJAWg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_Rtk8xXJm0EaTF5seXXWcLg_3_6">4,366</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net deferred revenue in the period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredRevenuePeriodIncreaseDecrease" scale="3" id="Tc_9YZpXQIgNECcHvHqYOe85Q_4_3">27,577</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredRevenuePeriodIncreaseDecrease" scale="3" id="Tc_SPwcc17NgEGuU5Xk_GlVSQ_4_6">21,619</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Revenue recognized</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredRevenueRevenueRecognized1" scale="3" id="Tc_-dyjzVgqKEyOqiccc5eK4A_5_3">22,896</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredRevenueRevenueRecognized1" scale="3" id="Tc_Otx3_fFqAUC0LhNEE25GhA_5_6">22,586</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Currency translations and other adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments" scale="3" id="Tc_AMtjh6bPEkK8ERN2Q35mmA_6_3">194</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments" sign="-" scale="3" id="Tc_9gMLBpMkX0eFRP2o1AXxOA_6_6">124</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at the end of year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredRevenue" scale="3" id="Tc_SDUCHqVTK0-W1_dC9x9KGQ_7_3">8,010</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredRevenue" scale="3" id="Tc_P6MEbakPP06KQsGi78p0WQ_7_6">3,523</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="Tb_TACNu-qvPk-9SWj9XH6Wqw" continuedAt="Tb_TACNu-qvPk-9SWj9XH6Wqw_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Recently Adopted Accounting Pronouncements&#160;- </b>On November 27, 2023, the FASB issued Accounting Standards Update (ASU) No. 2023-07, &#8220;Improvements to Reportable Segment Disclosures,&#8221;. The ASU&#8217;s effective date is for fiscal years beginning after December 15, 2023. The adoption of the ASU 2023-07 will enhance expense disclosures in segment reporting and other qualitative disclosures and allows for disclosing multiple measures of segment profit or loss. The Company has adopted this standard and complied with the required disclosures. See Note 14, Segment reporting and concentrations.</p></ix:nonNumeric></ix:continuation></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-15</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><ix:continuation id="Tb_QtJ0tIPYf0eCnIf8jqyyNw_cont8"><ix:continuation id="Tb_TACNu-qvPk-9SWj9XH6Wqw_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Recently Issued Accounting Pronouncements Not Yet Adopted - </b>On December 14, 2023, the FASB issued ASU No. 2023-09, &#8220;Income Taxes (Topic 740): Improvements to Income Tax Disclosures&#8221;. The ASU&#8217;s effective date is for fiscal years beginning after December 15, 2024 with early adoption permitted. The adoption of the ASU 2023-09 will enhance quantitative and qualitative disclosures related to rate reconciliation of significant components and income tax paid. We are currently evaluating the impact of the ASU on our disclosures within the consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">In November 2024, the FASB issued ASU 2024-03, &#8220;Income Statement - Reporting Comprehensive Income - Expense Disaggregation Disclosures (Subtopic 220-40): Disaggregation of Income Statement Expenses&#8221;. ASU No. 2024-03 does not change or remove existing expense disclosure requirements but requires disaggregated disclosures about certain expense categories and captions, including but not limited to, purchases of inventory, employee compensation, depreciation, amortization and selling expenses. ASU No. 2024-03 will become effective for us in fiscal 2027 and in the first quarter of fiscal 2028 for interim reporting. Early adoption is permitted. We are currently evaluating the impact of the ASU on our disclosures within the consolidated financial statements.</p></ix:continuation></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_17f9570e_d925_436c_9fd5_4a4b5d003baa"></a><a id="Tc_CPiUR5sn2kC2Y0itSw1eiw_1_2"></a><a id="Tc_uaTqWd0yBUKh48lmFMs53w_2_2"></a><a id="Tc_EvbScHhaPUW6NtR4doIomg_2_5"></a><a id="Tc_Gb4oAjpo9EWCHJUIKmBs4Q_3_0"></a><a id="Tc_LRZO-xw2XE67q1iZq0_DJg_3_2"></a><a id="Tc_EFquLhlPFEu5l7jVe_vZYg_3_5"></a><a id="Tc_UDtjWnDrY0WGSYHpDnOR-A_4_0"></a><a id="Tc_N6g6XDkDlk-47ykutklHLg_5_0"></a><a id="Tc_x-yvH9sXkUOEer9xDgYxgg_5_2"></a><a id="Tc_i06emKCtL0ey5syS4qRtWg_5_5"></a><a id="_98806104_7227_43cf_a46a_251cff61e57a"></a><a id="Tc_KfWs-HH4LkO0DRRAbmNtjg_1_2"></a><a id="Tc_orSfy6UJJEuf9oMpQNvXhg_1_5"></a><a id="Tc_x_cbf2zoD0CULJv8ZXRXKA_2_2"></a><a id="Tc_bCD2qwEI40Km1YXHPzZRkg_2_5"></a><a id="Tc_dJNwrC9Vc0i9iYOMLgLbpA_3_0"></a><a id="Tc_es3V3jMDsUCaHWzTxF5Xmg_3_2"></a><a id="Tc_48hiyVRwQU6B0f6NrjfdWw_3_5"></a><a id="Tc_eXHaN-PG4Ey9uudLYFPEVA_4_0"></a><a id="Tc_ryKE5S1tbUu8P5ltbnNZfw_5_0"></a><a id="Tc_iqtUsqydY0Gh821UV_o_Qw_6_0"></a><a id="Tc_bEyb3CPFsEK7xlCAK_SZxQ_7_0"></a><a id="Tc_y6d8kaDQnEOUNPp4vznQag_7_2"></a><a id="Tc_YULml6UbikSteFDeqioR7Q_7_5"></a><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:AccountsAndNontradeReceivableTextBlock" id="Tb_sAIrQvPB0E2GgaFC9A-qog" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><b style="font-weight:bold;">2.</b> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<b style="font-weight:bold;">Accounts Receivable</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" id="Tb_ZnP1C6FieUGcbnM_5A5dYQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt;">Accounts receivable consists of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">     </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Gross Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="Tc_Nqei0NuAikC2NrfiLbiUGA_3_3">29,772</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="Tc_iRA6-8l3DEaeqG6DM_qwgg_3_6">15,505</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_a3DD6kDMBkeHkRKJ0C9DPQ_4_3">1,759</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_Vpkz1Y6Ne02dR-Rt_hvHJg_4_6">1,217</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:70.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_TyuD1g7ooUuNCQyzbKcLPw_5_3">28,013</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_hXP8j15fuEWMPIRYkwxKFg_5_6">14,288</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock" id="Tb__W-NZkUnsES5adtyzkDtlQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Activity in the allowance for the credit losses for the years ended December 31, 2024 and 2023 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:41.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:26.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For&#160;the&#160;Year&#160;Ended</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:26.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For&#160;the&#160;Year&#160;Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:26.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;December&#160;31,&#160;2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:26.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;December&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Balance at beginning of year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_R0eGXPrz1kmbBzl_8JVYJQ_3_3">1,217</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2022_WoVfVjcRzU6369CtXFJAWg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_2j5ab01L0UmYdzAFxlz71Q_3_6">1,213</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:41.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Additions charged to expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="Tc_83E5k7KHCkmJlYuOOPyWmQ_4_3">804</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="Tc_yOSn8RxFYUaRQp4PB4j95A_4_6">426</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:41.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Write-offs against allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs" scale="3" id="Tc_1VcKRamZhEKJrMwlGV0r4w_5_3">256</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs" scale="3" id="Tc_nPAJUFR8vkKBEjOXkDt31Q_5_6">426</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:41.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation" sign="-" scale="3" id="Tc_tfb2_zzGtECnqJNBgGQk4A_6_3">6</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation" scale="3" id="Tc_x_0HTafg0ketpaP_KBtAJw_6_6">4</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:41.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Balance at end of year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_gX2scpSSg0aA20Cs-P8jnQ_7_3">1,759</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_cpSoRtg8akCMLrMyHHuaCQ_7_6">1,217</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-16</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_3c6a3d22_b024_446d_9878_70e501a1dc5a"></a><a id="Tc_qWXfNKeUuEWxAy5gpAuMqA_1_2"></a><a id="Tc_qFAPurOsv0-RPOzJFMkN3A_2_2"></a><a id="Tc_MRs9VVRAHEq_BKj_Luvbrw_2_5"></a><a id="Tc_dOh22Z6MrECJBO8tEOmRTg_3_0"></a><a id="Tc_LdEwzLynSkeHTjUIX7ZDMw_3_2"></a><a id="Tc_TTXbzZ-VDUi_EBxpO8AL5g_3_5"></a><a id="Tc_DaI98On2GUW3Gm06-nqNyA_4_0"></a><a id="Tc_r9NL2GsM1USTkTIdH-pJ-w_5_0"></a><a id="Tc_GKPX-utzKk2DRtWwy3wPHw_6_0"></a><a id="Tc_YQp-wIj-OE2bzenU68pohg_7_0"></a><a id="Tc_qrpZCtddmEeDzw4AawFVnA_8_0"></a><a id="Tc_irtxyGsDUUKArFNClvN76g_9_0"></a><a id="Tc_j6ScRZqjt0qk_HSg-JtHFw_10_2"></a><a id="Tc_zyYjmcEjNU-qi5fSmT6fgA_10_5"></a><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock" id="Tb_IAqQeHKzkUKHWFK3S35c5g" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">3.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Property and equipment</p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:PropertyPlantAndEquipmentTextBlock" id="Tb_IeZePmoVjkqQs4G2rp_ESQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Property and equipment, which include amounts recorded under capital leases, are stated at cost less accumulated depreciation and amortization (in thousands), and consist of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_EquipmentMember__yC4g6PBQkWSkq2Gm4hw0Q" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="3" id="Tc_4i-uO3xoJkeTAuv6_DeonA_3_3">12,135</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_EquipmentMember_ek-s0CxjYUKNOwei4fO_CQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="3" id="Tc_qbovBrUGHUuwWzSGh5_Qxg_3_6">11,315</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Computer software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_X0Jvz2E3rU2jNLwDtrwhjA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="3" id="Tc_XV9G8mVbKUiBN620fLnbHA_4_3">4,480</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_TNGe9si3LUmn8wMhmsCq9w" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="3" id="Tc_yUV8Xk0tik28Zd1WlA2M3A_4_6">4,465</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Furniture and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_-zFtSVxVNkWC9G2b396qmg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="3" id="Tc_TWTzXE5g6EqS10cQ_a0lLg_5_3">951</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_Y_Uq_DnVBUCXJ7hSUUfI0w" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="3" id="Tc_GYd9FgxkCEWmtTuz3OxCsw_5_6">1,128</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_3DlofO4zDUKn02n09GPZFw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="3" id="Tc_9f9hmqcJ30-pEh9TdmO4IQ_6_3">2,554</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_CYsdJ46hgkecX1vsvFrdHw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="3" id="Tc_9QA9BkCtgU--y5gWxzV8OQ_6_6">2,547</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Capital work-in-progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ConstructionInProgressMember_xsSlSArCaUWeIjcgDtPgzw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="3" id="Tc_lVO4eaL_nkaC9UOqZM4RJw_7_3">547</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ConstructionInProgressMember_bTpAxYLv1EaKnxxkyNnNnA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="3" id="Tc_xWjbe1ovUkieS3NbPWqBPw_7_6">434</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="3" id="Tc_u7DM1-5eFkWfx48J6hmmDw_8_3">20,667</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="3" id="Tc_eXCQk5_adk6cnVxEy1oL0w_8_6">19,889</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Less: accumulated depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" scale="3" id="Tc_kZblM8t43EWMFM7l-WFV0g_9_3">16,566</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" scale="3" id="Tc_uSQRhwSI20eqGqKKeZpwPA_9_6">17,608</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" scale="3" id="Tc_vulV9-HxM0WHB1_niFkP0Q_10_3">4,101</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" scale="3" id="Tc_jZQ7dBB9OkydNYW4RT-ktg_10_6">2,281</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The estimated useful lives of the property and equipment range between <ix:nonNumeric contextRef="As_Of_12_31_2024_srt_RangeAxis_srt_MinimumMember_l_Zbsb2eb0u2_FRbUsP-cA" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_PNEMbvGRHUSVs6kIA8i__A">two years</ix:nonNumeric> and <ix:nonNumeric contextRef="As_Of_12_31_2024_srt_RangeAxis_srt_MaximumMember_9rlFfpQtP0C99Qd_6dkL_A" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_2Q-QDgNarEKgrKtJC_S-cg">ten years</ix:nonNumeric>. Depreciation and amortization expense of property and equipment were approximately $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_eQJKcCKF2kW_PycYnUZPVw" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="6" id="Narr_YgQvj73_YUy0xFg6i_bIzw">1.5</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_uOkIzEHivUOY4FC5Ao7koQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="6" id="Narr_25tqYxbXnUaqsVYOOcmCNQ">1.2</ix:nonFraction> million for the years ended December 31, 2024 and 2023, respectively.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_926db3e7_8cc1_4662_8a77_6a052dffffb1"></a><a id="Tc_tcgQoXuE8kuUIBdVUFMRSQ_1_2"></a><a id="Tc_Zo7Fa-O2EkmsDfnYvQrGTg_2_0"></a><a id="Tc_HTKQysdJ9kiWJNA9HcV3nA_2_2"></a><a id="Tc_sbPVK6Bvi0m198xm6n4IcQ_3_0"></a><a id="Tc_coP9uXfZuk6zMSFk9A0u1Q_4_0"></a><a id="Tc_pdhslPLnGUOlCe9_nhjHlg_4_2"></a><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock" id="Tb_SUIHmkpEb06JFsqCCtl1Vw" continuedAt="Tb_SUIHmkpEb06JFsqCCtl1Vw_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">4.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Goodwill and Intangible Assets</p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ScheduleOfGoodwillTextBlock" id="Tb_4S6WOHBBf0OA63VUvjxKxw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The changes in the carrying amount of goodwill for the year ended December 31, 2024 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:84.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:84.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance - January 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="3" id="Tc_CrmpV5Uqm0iUNAYJaPm1zw_2_3">2,075</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:84.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" scale="3" id="Tc_lPW7m0Ml4kW6CK5bzW6h1g_3_3">77</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:84.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance - December 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="3" id="Tc_YF3Xj1KOjkeKJKijgFIOkg_4_3">1,998</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">As of September 30, 2024, the Company performed its annual goodwill impairment analysis on its reporting unit with goodwill, the Agility segment. It involved a quantitative goodwill impairment test and estimated the fair value based on a combination of the income approach (estimates of future discounted cash flows) and the market approach (market multiples for similar companies) using unobservable inputs (Level 3). The income approach uses a discounted cash flow (&#8220;DCF&#8221;) method that utilizes the present value of cash flows to estimate the segment&#8217;s fair value. The future cash flows of the segment were projected based on the Company&#8217;s estimates of future revenues, operating income, and other factors such as working capital and capital expenditures. As part of the DCF analysis, the Company projected revenue and operating profits and assumed long-term revenue growth rates in the terminal year. The market approach utilizes multiples of revenues and earnings before interest expense, taxes, depreciation, and amortization (&#8220;EBITDA&#8221;) to estimate the segment&#8217;s fair value. The market multiples used for the segment were based on a group of comparable companies&#8217; market multiples applied to the Company&#8217;s revenue. The Company concluded that there is <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-5" format="ixt-sec:numwordsen" name="us-gaap:GoodwillImpairmentLoss" scale="6" id="Narr_GFE3Bz0Qhk-iMrMo2iuIIg">no</ix:nonFraction> impairment of goodwill.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The fair value measurement of goodwill for the Agility segment was classified within Level 3 of the fair value hierarchy because the Company used the income approach, which utilizes significant inputs that are unobservable in the market and the market multiple approach using comparable entities to further validate the carrying values. The Company believes it made reasonable estimates and assumptions to calculate the fair value of the reporting unit as of the impairment test measurement date. The carrying value of goodwill was $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="6" id="Narr_MM0gp3oL1U6EsHP81TChew">2.0</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="6" id="Narr_VA8BcqcQ80-3U4rfkSrNIQ">2.1</ix:nonFraction> million as of December 31, 2024, and 2023, respectively.</p></ix:nonNumeric></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-17</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_68a1d18c_b5dc_4395_aed6_19704a7232ef"></a><a id="Tc__S_aTqxyJ0aYH1XRvHesTA_1_2"></a><a id="Tc_PY36V76dGEaL8zjtx1J9dg_2_8"></a><a id="Tc_T9jG5ffK_U-V6-r70z1kMA_3_2"></a><a id="Tc_6_D4lRVME0usDavhDjUWKw_3_5"></a><a id="Tc_1g4b8UhnUk2wxiyYqhDy6w_3_8"></a><a id="Tc_sptGUaa7eEuaQcCbByf0hw_3_11"></a><a id="Tc_l3nZ-a7mYki2iQKgRbH_yQ_4_2"></a><a id="Tc_l2YmHUnnMkiUPvWdNz3lcw_4_5"></a><a id="Tc_6eykSCoKB0Gdhtlt5hL3KA_4_8"></a><a id="Tc_K43vOXa8DkiDy2wt6eHVSQ_4_11"></a><a id="Tc_rbah-glUJE6OEiFyI4f3KQ_5_0"></a><a id="Tc_J0_ynYNu_k-37XCiUOy2_g_6_0"></a><a id="Tc_idfynC48tkG78pqAqGTDFQ_6_2"></a><a id="Tc_Qv_SZ1YOZ02lm5kjyj0MIQ_6_5"></a><a id="Tc_PYvvsL0vVESKs28gN6B6kw_6_8"></a><a id="Tc_MMlpKLbBiESOAWjeuDD3tw_6_11"></a><a id="Tc_r6nPjOn05Ui_Ix-m4OMDvg_7_0"></a><a id="Tc_h3GHPcx_bkCiFwAhf7s1XA_8_0"></a><a id="Tc_1LicBTd8Jk-niZgDpoCq2Q_8_9"></a><a id="Tc_GBZddooTHkWCzzMLQ0idKA_9_0"></a><a id="Tc_RnR0XhdWKEG6tbBg-XUeHg_9_9"></a><a id="Tc_hn4jmJMarkuoatGpP1nIzQ_9_12"></a><a id="Tc_55DpP44eOUCBt8hTlk-_Qw_10_0"></a><a id="Tc_ixsb0OBH1kOzf9ZYF5hvRg_11_0"></a><a id="Tc_k9vMjy7Us0OOikBSxzG_3A_11_2"></a><a id="Tc_M8REu-1EpUOeNhfX_MysKQ_11_5"></a><a id="Tc_bFD7FQqGM0SQ6wV7ngDT-A_11_8"></a><a id="Tc_A1AcAnRnf0OpC7J67Sm2Fw_11_11"></a><a id="Tc_9l38OUWnQEu5Fxxq3kpmmA_13_0"></a><a id="Tc_gofiDVikIEmN1mg5b3XDww_14_0"></a><a id="Tc_8wafsNLx4kW-BHyq4AkApQ_14_2"></a><a id="Tc_TrHahYeX5UCsND8zqgvgFQ_14_5"></a><a id="Tc_UCCLcTjaU0y9watUEc__jA_14_8"></a><a id="Tc_viGRxVlvA0mP9usDOGcl4Q_14_11"></a><a id="Tc_-hWOXNpK60ib9A981-4VTQ_15_0"></a><a id="Tc_VUVXevOiu0ed8LkJq1D73g_15_6"></a><a id="Tc_8kUdI0YZMUaz7TJ6yqT9Ow_16_0"></a><a id="Tc_IqM6SpZi9kK2a_KdZjKvBg_16_2"></a><a id="Tc_bFKUH9IlPUet7-iq4aswAA_16_5"></a><a id="Tc_sSnW0_d5Y0SoS-fuWfLnTQ_16_8"></a><a id="Tc_Vj8mKm5IKESMKe7B81D_Gw_16_11"></a><a id="Tc_y13zJbE06k26E_qzLUnfBQ_18_0"></a><a id="Tc_Sr_uJ23-O022HYEQ-iiGYw_18_2"></a><a id="Tc_u6TIFIZx0EWREeJ1k-gsGw_18_5"></a><a id="Tc_90W-GRKXKU687NsBEzGQ3A_18_8"></a><a id="Tc_Mjk1XNdBHkeFVhGsMvqhEg_18_11"></a><a id="_828d3140_91aa_4b79_b4ec_617134f18c7f"></a><a id="Tc_ViXOC4VqAUO2XzNOFJP7mw_1_2"></a><a id="Tc_k9mfN9cYsUWuVZjunxQjLA_2_8"></a><a id="Tc_o-EdMurdEE2jpN9KdqVi2A_3_2"></a><a id="Tc_YWHtpk_4Yk6QQWAWMlE-jg_3_5"></a><a id="Tc_dXx0TsEWaE-g7s0KPNsaGw_3_8"></a><a id="Tc_9QQ6l7PxuUe76AhoTFkSyg_3_11"></a><a id="Tc_tXJa-8l-ZU-tP4SNPTP-Nw_4_2"></a><a id="Tc_puYN5ucW3kuISDBn9LyOpg_4_5"></a><a id="Tc_7D42xL3ESE6WW0flSexQiw_4_8"></a><a id="Tc_Z_fE98Z-xU2YBzmi_6DKDw_4_11"></a><a id="Tc_1iYlWm0pZkeojWTi5SPM-g_5_0"></a><a id="Tc_9iCdq38iUEa2rYA33WYWXw_6_0"></a><a id="Tc_k8FjeYDsC0Kp7qDQ1SFDiA_6_2"></a><a id="Tc_pRU1vgVrp0iCfp98MIP0tA_6_5"></a><a id="Tc_cpE25MyooEuG0qlIHbzaRw_6_8"></a><a id="Tc___k0u4TrCUunttNGU8cbog_6_11"></a><a id="Tc_TpXkUTjATkCVVIdd-_x6nw_7_0"></a><a id="Tc_qGI9I_kFqk2CD1Y9NecO8Q_8_0"></a><a id="Tc_cndcrPCFP0CZsR1AoWOAlQ_9_0"></a><a id="Tc_aeQ_qf-wIUOAEg2hvW03pQ_9_9"></a><a id="Tc_WHq76LdAKUyQrhUbjHhyGA_10_0"></a><a id="Tc_Gi58Vf1fB0W-JC4l-Y3Zqw_11_0"></a><a id="Tc_h5W7760uqU-GTmIX4JGyYg_11_2"></a><a id="Tc_wclWM5iDNUi0k7gCVxkpvw_11_5"></a><a id="Tc_dhIdRMHYxUWndhBHS90lBQ_11_8"></a><a id="Tc_FnWzIuCD70yUX8HUDhIlBA_11_11"></a><a id="Tc_HLiC-INlh0WIzK6eYzP73A_13_0"></a><a id="Tc_2ALjKnsAg0Ge22k9sN9xFQ_14_0"></a><a id="Tc_r44vYCeR8Eqy4zyHYNOKVA_14_2"></a><a id="Tc_txWHs_SdhE6h0lhT6SaTMA_14_5"></a><a id="Tc_r6mgYrhzvUqEb4BtJPODXA_14_8"></a><a id="Tc_tspT0l31LkG2Dwmq6GxqqQ_14_11"></a><a id="Tc_Kd4j_BOoUkmjoauVrrwvIA_15_0"></a><a id="Tc_WlkEzyWAW0WhpDFyVGQVnA_15_6"></a><a id="Tc_03lfYioM_E2YfMuqRI7YNQ_16_0"></a><a id="Tc_26CavJqu-Eq1vy7eZHtJEQ_16_2"></a><a id="Tc_DpB1Lv1eDkGz8rTu5kIy3g_16_5"></a><a id="Tc_XFzjcvyj4E2PQSJp2JLs7w_16_8"></a><a id="Tc_fqpCYjw_ukmNtw69lQleNw_16_11"></a><a id="Tc_b6l9UNViV06lLbldRaYX5Q_18_0"></a><a id="Tc_RzhzXUODHUql4NmsO2VxUg_18_2"></a><a id="Tc_DYYJ1CPJN067yiQkMZdWew_18_5"></a><a id="Tc_OTwUqxHCfkGQn_QZefycmg_18_8"></a><a id="Tc_Filev285K0-JwTv9To3iXg_18_11"></a><ix:continuation id="Tb_SUIHmkpEb06JFsqCCtl1Vw_cont1" continuedAt="Tb_SUIHmkpEb06JFsqCCtl1Vw_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Intangibles</i></p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" id="Tb_ZwiF2L5JzU2Y-OwxtkGUsA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Information regarding the Company acquired intangible assets and capitalized developed software was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">     </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying&#160;Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_PKxFcABwbkmwoSU97uIsAA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_Fg4VpHberkWjkDcaib6pMg_6_3">3,060</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_PKxFcABwbkmwoSU97uIsAA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_5SGqQe-GJE2CYu5bbqoYYw_6_6">2,911</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_PKxFcABwbkmwoSU97uIsAA" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" sign="-" scale="3" id="Tc_K59aPv8TPkiIP5BWPzh3fg_6_9">3</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_PKxFcABwbkmwoSU97uIsAA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_xyxa4vMkW0yZFus1POZkQg_6_12">146</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_eswZ0NbwE06a9qMbMPgHLg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_tqCjd5qLkEWLrMGo0YQjNA_7_3">2,144</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_eswZ0NbwE06a9qMbMPgHLg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_aVmJ__B2L0uVjdhSTF3T_A_7_6">1,856</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_eswZ0NbwE06a9qMbMPgHLg" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" sign="-" scale="3" id="Tc_FrvZhVAndEqPZfOqFBSclQ_7_9">29</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_eswZ0NbwE06a9qMbMPgHLg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_G-UFiq3pNkejNhniPm4hBQ_7_12">259</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trademarks and tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_aMPqSQnl6kqE-3fgQ1ZqTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_JzRmt9xoDE25D1O83q-eAg_8_3">862</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_aMPqSQnl6kqE-3fgQ1ZqTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_MaP1TzbKv0qKEf58GKW3tQ_8_6">826</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_aMPqSQnl6kqE-3fgQ1ZqTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_cXlaVhzRe0yjjUTkNEnvLA_8_12">36</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Patents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_NX28TL-gtEa9Jqam-XF_eQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_fOitgut0TUaCCATVvd5Zwg_9_3">44</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_NX28TL-gtEa9Jqam-XF_eQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_4wmTKw27qUexc2FpR6B5NA_9_6">44</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Media Contact Database</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_OmXD6cj2NEmSBQ9mD6rfBQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_sqaIE0LMjkOgWRhAAHyW3w_10_3">3,546</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_OmXD6cj2NEmSBQ9mD6rfBQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_9UHWCy_g-0-QVuXYJ5MVdQ_10_6">3,016</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_OmXD6cj2NEmSBQ9mD6rfBQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" sign="-" scale="3" id="Tc_hv5cCsx4ykGk7M2sezEo8w_10_9">1</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_OmXD6cj2NEmSBQ9mD6rfBQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_kdvmy5x9lUW52SX0InHKMg_10_12">529</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_SWi9yEqTK0WXo99bGHtHlg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_j64XMpRTHEqtPL5G1VdVPg_11_3">9,656</ix:nonFraction></b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_SWi9yEqTK0WXo99bGHtHlg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_Ha05xlXjl0epvYAw0vozCA_11_6">8,653</ix:nonFraction>)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_SWi9yEqTK0WXo99bGHtHlg" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_Kvw731Za8UqPzxEAnGAJ5w_11_9">33</ix:nonFraction>)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_SWi9yEqTK0WXo99bGHtHlg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_f3NkBg7VJUeBUmRv3XOxRA_11_12">970</ix:nonFraction></b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Capitalized Developed Software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_1MdjChxLRE6mhBgeY-CjAQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_iM3nOpAeDUyKVOLXJeKn_g_14_3">19,811</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_1MdjChxLRE6mhBgeY-CjAQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc__6LFYnZx60GVsAQVN137rw_14_6">10,507</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_1MdjChxLRE6mhBgeY-CjAQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" sign="-" scale="3" id="Tc_uTJC3OAfF0a1m1vogz9Pdw_14_9">463</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_1MdjChxLRE6mhBgeY-CjAQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_npw8OVSG_kGpRY_jm36pOg_14_12">8,841</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">Capitalized  Developed Software - in Progress</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_0-E2__Mdfke8EEhPBxIe5A" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_iqNEe3qMO0SkL24iyoDzkw_15_3">3,552</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_0-E2__Mdfke8EEhPBxIe5A" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" sign="-" scale="3" id="Tc_KkQFtMASEUSiXKZkbV-IZw_15_9">10</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_0-E2__Mdfke8EEhPBxIe5A" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_NN8lvhYDhUGTDwyo1TbOWw_15_12">3,542</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_M6aU7ypd2kuLaMxEq0lL7w" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_U662XUb4dUeSI36WtdKs0A_16_3">23,363</ix:nonFraction></b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_M6aU7ypd2kuLaMxEq0lL7w" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_t5d7zdrTekeRngpwv1WlwA_16_6">10,507</ix:nonFraction>)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_M6aU7ypd2kuLaMxEq0lL7w" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_Kbu5btF9mkSANJTnDnHZ3Q_16_9">473</ix:nonFraction>)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_M6aU7ypd2kuLaMxEq0lL7w" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_bpW8l4QkHEyl4cuVgXLzMQ_16_12">12,383</ix:nonFraction></b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_LqmPqisS1Ey_xSDfh7KjJQ_18_3">33,019</ix:nonFraction></b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_vfY2RpNdhkyGBHjFPP77xw_18_6">19,160</ix:nonFraction>)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_o0NhI6szGU2RDW97jryzRA_18_9">506</ix:nonFraction>)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_pbgPRLVJEUmwlZfyYerDWQ_18_12">13,353</ix:nonFraction></b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;background:#ffff00;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">     </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying&#160;Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">     <span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">     <span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">     <span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_T2-GY1BEYEqpD-xKLKir4A" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_AxtE86oor0yic5VE_Kt7qQ_6_3">2,999</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_T2-GY1BEYEqpD-xKLKir4A" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_7GpjYNMkLUe1piCHrSNLHw_6_6">2,640</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_T2-GY1BEYEqpD-xKLKir4A" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_rcJoTfQznE6qm9g8ccRq4g_6_9">7</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_T2-GY1BEYEqpD-xKLKir4A" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_2cmCBP_FskCTqyQ1WdJkcQ_6_12">366</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_uDsmnZ1-Uk2Lu5k7gjkmQA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_mWZXknjifkGGcoQlOS3cVQ_7_3">2,096</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_uDsmnZ1-Uk2Lu5k7gjkmQA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_N6Mt8OQFpkewJlx8OqdDZQ_7_6">1,645</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_uDsmnZ1-Uk2Lu5k7gjkmQA" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_aIbDFC5GXkeioowH0P-Rrg_7_9">10</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_uDsmnZ1-Uk2Lu5k7gjkmQA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_V2LzcU7kTk2RJD66eFYsdA_7_12">461</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trademarks and tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_bGD45DXuLU6nN5Sdo0ZyPg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_orqWyDG0pk-33gjlMHt6VA_8_3">852</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_bGD45DXuLU6nN5Sdo0ZyPg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_LDPbk9QVW0id0XsWc4QMQA_8_6">774</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_bGD45DXuLU6nN5Sdo0ZyPg" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_oxJO5WvpHUC_M4lcYdHj4w_8_9">2</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_bGD45DXuLU6nN5Sdo0ZyPg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_ianW0KYAwkKztRQgfh3TWA_8_12">80</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Patents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_vBp8aS24AkK0HxET52mzwg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_kRyk49WIAkqb_B2ieFuCFg_9_3">43</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_vBp8aS24AkK0HxET52mzwg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_MkorloKGakGbN3ZBa8ANzQ_9_6">40</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_vBp8aS24AkK0HxET52mzwg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_xBpPt4oPqk2_MIeEwlpRdQ_9_12">3</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Media Contact Database</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_coTsSQ8a5UiJTgMVNwYvUw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_R3S81XbusEqhTcbnPK8UTg_10_3">3,492</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_coTsSQ8a5UiJTgMVNwYvUw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_zH3T7Nf0EkaU7-AZtvhyfg_10_6">2,621</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_coTsSQ8a5UiJTgMVNwYvUw" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_aTwsNT4uqUCcKWV2_lxFjA_10_9">16</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_coTsSQ8a5UiJTgMVNwYvUw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_q6Tm8Ofub0GCt_oLg1lONA_10_12">887</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_Ifc6Jo0zpEi9vYzAdGr9gg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_CbzFL7obBUqwBlqS1XarAA_11_3">9,482</ix:nonFraction></b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_Ifc6Jo0zpEi9vYzAdGr9gg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_L1lwckmS50GHBJbdx4jbDQ_11_6">7,720</ix:nonFraction>)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_Ifc6Jo0zpEi9vYzAdGr9gg" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_JNGlGVEc7E-D6TN0c0vohw_11_9">35</ix:nonFraction></b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_Ifc6Jo0zpEi9vYzAdGr9gg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_h8Xh2iuwUU66_arKKJ4xPw_11_12">1,797</ix:nonFraction></b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Capitalized Developed Software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_GpUffxo200uDJmHAMVMpNg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_X85DIaF7tUSxZOpxp10Riw_14_3">15,216</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_GpUffxo200uDJmHAMVMpNg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_3nKDetgCSkSmYdxRKnH1oA_14_6">6,862</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_GpUffxo200uDJmHAMVMpNg" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_IopXYzdeOk6Z2_gk_ltODA_14_9">138</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_GpUffxo200uDJmHAMVMpNg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_uoTuqPNVKUaZLgPZ4c_yEA_14_12">8,492</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">Capitalized  Developed Software - in Progress</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_c2Fpk42UF0K4J2tiO89gcg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_33dap5Hni0ae8ZnMAM-HgA_15_3">3,480</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_c2Fpk42UF0K4J2tiO89gcg" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_pdY-ruFfnkeAdUMp07t5Kg_15_9">11</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_c2Fpk42UF0K4J2tiO89gcg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_N2-Ypt3ArkuPP_N9pfrygg_15_12">3,469</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_wEUi7eT-90-6_6jZ8v2_Rg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_tVIeekZQpUiBvvEeDFzWvQ_16_3">18,696</ix:nonFraction></b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_wEUi7eT-90-6_6jZ8v2_Rg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_tLS5EdJUU025as8xXElWVw_16_6">6,862</ix:nonFraction>)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_wEUi7eT-90-6_6jZ8v2_Rg" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_ZfOrS8zM6kCP_EJ6HuRn5A_16_9">127</ix:nonFraction></b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_wEUi7eT-90-6_6jZ8v2_Rg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_2Kwp_HaX00KyBlSiPGJdJg_16_12">11,961</ix:nonFraction></b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_y5Acm4StU0i1jkd6joLcIg_18_3">28,178</ix:nonFraction></b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_7-ULR09iHECu69lqHjZLGA_18_6">14,582</ix:nonFraction>)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_SJ-tOvoqcEmmkGUUsqVhJA_18_9">162</ix:nonFraction></b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_DdQaJBlGjU6gndKpoDFkBg_18_12">13,758</ix:nonFraction></b></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;background:#ffff00;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Amortization expense relating to acquired intangible assets was approximately $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_cMNIsVNcS0WVTXprZROG1g" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" id="Narr_Ak1HE7aHpk2JmEwhyEsAIA">0.8</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_1VSqJnBYzUqitSTWtLQtHQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" id="Narr_YxuBJcXUbk-g6wNCe3RULw">0.9</ix:nonFraction> million for the years ended December 31, 2024 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:12.0pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Amortization expense relating to capitalized developed software was approximately $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_LyApVJW6OkmI3Xh3YqHKkw" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" id="Narr_9J5LCSwkj0mxvbzlX1kdOw">3.5</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_jlvfpQM2aEWkgyv6kOADVg" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" id="Narr_35u1judwy0qfUCCiPZZs6Q">2.7</ix:nonFraction> million for the years ended December 31, 2024 and 2023, respectively.</p></ix:continuation></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-18</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_be28a10c_9c11_4301_9112_5d3383203365"></a><a id="Tc_7lMSqw2ic0OB7b-ZFMe5bQ_1_0"></a><a id="Tc_tBG-naSsyU283hA7LKMJmw_1_2"></a><a id="Tc_Ri9nqzDgR0W3V-Q_WtaLEA_2_0"></a><a id="Tc_NPD_lmec20yt_3WBqP2VHA_2_2"></a><a id="Tc_Zwdw5yXBIEiF-XCwGK_8rA_3_0"></a><a id="Tc_Yl-UXfQ3OU-HCaKZneJP5Q_4_0"></a><a id="Tc_WaxlRSzWHU-ey4CsDhAZEw_5_0"></a><a id="Tc_Qoek_ZBHRUa3Syb31b2zoQ_6_0"></a><a id="Tc_9MwNwoPvlUSq0uuOz1iqeQ_7_0"></a><a id="Tc_MY5gnRzBkkqgzOQwQbqfFQ_8_2"></a><ix:continuation id="Tb_SUIHmkpEb06JFsqCCtl1Vw_cont2"><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" id="Tb_9PmSN46efk2be0GbhitpTA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Estimated annual amortization expense for intangible assets subsequent to December 31, 2024 is as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" scale="3" id="Tc_9zpsISLN70WTLkoL-mnZbA_2_3">5,636</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" scale="3" id="Tc_IqlHmDQ3hUmHbr5AlqEm6w_3_3">4,158</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" scale="3" id="Tc_830j1yeULUqbVfNoty3aPA_4_3">2,675</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" scale="3" id="Tc_yd4F_l9MP0Sz86S13BtzAQ_5_3">742</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" scale="3" id="Tc_Wb2gEXLbs0eV3_3uC2X0gg_6_3">110</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetExpectedAmortizationThereafter" scale="3" id="Tc_YPwsZ1ECnU-eSsdQgrX2LQ_7_3">32</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_6azopXVzEUSGkbA9ZhHF9Q_8_3">13,353</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><a id="_3f7ab1f7_dbfd_42f0_ac2c_2b533d560c1a"></a><a id="Tc_X7TNiP0VNEGeSdfaJUpoFw_1_2"></a><a id="Tc__BhbnhgT7Een6Tps9YJY5A_1_5"></a><a id="Tc_9Yu6qovQ8kWd1NmcufGACQ_2_0"></a><a id="Tc_WlD2XHfVnUa_MMkVlE9ICw_3_0"></a><a id="Tc_EBdvSQLKKUSPiHJw478unw_3_2"></a><a id="Tc_apxBVrQ920-GOjF3ejaOTg_3_5"></a><a id="Tc_3lXRy9xxfke-8jU742F_YQ_4_0"></a><a id="Tc_9CwMy2GeVE2-lOvr3mhSIQ_5_0"></a><a id="Tc_yZZ_RX_xfE2M3ExmplCtOQ_7_0"></a><a id="Tc_yP50TS6UsUS-SmIDp8B1Ug_8_0"></a><a id="Tc_5E1DJxQ_sk-aZUgV1ZEUQA_9_0"></a><a id="Tc_MymCUNgIVUWo_cUtsAc0hg_10_0"></a><a id="Tc_lVJdWqfCpkyzsClp3hwXXg_10_6"></a><a id="Tc_GrMy6nUR0k-pyifHO5y5ZA_13_0"></a><a id="Tc_oBqQCZyS9UuMGBHVkM2y8Q_13_2"></a><a id="Tc_ZSvUuTq9SkerbOcjxxD7IQ_13_5"></a><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:IncomeTaxDisclosureTextBlock" id="Tb_IAFVpgDYMEWYZFnQb3K75g" continuedAt="Tb_IAFVpgDYMEWYZFnQb3K75g_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">5.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Income Taxes</p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" id="Tb_BKxQnNVCiEOoHRVynZF5Tw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The significant components of the provision for income taxes for the&#160;years ended December 31, 2024 and 2023 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Current income tax provision:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CurrentForeignTaxExpenseBenefit" scale="3" id="Tc_hy0PDTzq2ECRx4POkk7HOg_3_3">525</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CurrentForeignTaxExpenseBenefit" scale="3" id="Tc_M61dPdC9ZEy8ARkeg2nMVg_3_6">1,181</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CurrentFederalTaxExpenseBenefit" scale="3" id="Tc_wHI6gsR0tE-N0c61hQFOag_4_3">126</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CurrentFederalTaxExpenseBenefit" scale="3" id="Tc_iNV-YB9FMk2j-ICbuCrHyg_4_6">120</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">State and local</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" scale="3" id="Tc_K9XotEiQBkG4iXZfUHddMw_5_3">768</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" scale="3" id="Tc_nVMHSzoKlkCOQkVr_EbAPg_5_6">3</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_-9v9GE4r80iBCbYmJpmyHQ_6_3">1,419</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_G7Jj85mIJ0m9fL6FmjUIeA_6_6">1,304</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Deferred income tax provision:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredForeignIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_2ARqQEbIcEWfKSHRWSUz1w_8_3">294</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredForeignIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_f9KSmVfPJkmk6ghK3P0HTQ_8_6">286</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_4PfyjGysBE-Wjq15uyZVFw_9_3">4,059</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" scale="3" id="Tc_ehho1Dmar0-LMub2G5edcw_9_6">10</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">State and local</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_RcHhTZE9CEWoRITFFGucaw_10_3">1,256</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_D0QMDqE_IEm4wXWO56D1vA_11_3">5,609</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_6Cp0W055aUm6fK9CXwVK4Q_11_6">276</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_0wpZk-LdY0q1rw_LJUWLdg_13_3">4,190</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_6Do3YoSP20ipzJEKp3_ihw_13_6">1,028</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-19</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_7d56d59a_f27f_414f_8645_5fec05193144"></a><a id="Tc_RT92uSj2REiNWsoqIK1AVw_1_2"></a><a id="Tc_oobus0zZNkOFKhSB5oEoeg_1_4"></a><a id="Tc_p6H_LXY1x0yvUJs5KzBEjw_2_0"></a><a id="Tc_jqb6RgKcjEaZbiXEo3Eu8Q_2_3"></a><a id="Tc_F5SQb7bbske4RGOj82NjPg_2_5"></a><a id="Tc_SHgcRRb9-EKQKgo3UGQLDg_3_0"></a><a id="Tc_O2zRo-LAI0mzaHJ0rSZvpQ_4_0"></a><a id="Tc_I45Yr0VqFU-bmv9sRB-brQ_5_0"></a><a id="Tc_r2YY8lBNc0C058MCWiQA5A_6_0"></a><a id="Tc_6IAI0Qh2yUSwt1S1gW7-9Q_7_0"></a><a id="Tc_Ua64CGoUsEufqm00hByuJw_8_0"></a><a id="Tc_VKTyRAUfaU-V8z9j7FNZrQ_9_0"></a><a id="Tc_bmT0fO3VfEWevejS1a3PqQ_10_0"></a><a id="Tc_xTfrojCGwk6pQ_PgObjxTw_10_2"></a><a id="Tc_rxn1e_SjbUWK59yjdJSZFQ_11_0"></a><a id="Tc_BNKYaTw9bk2mQnUbGCLt_g_11_2"></a><a id="Tc_7tj0AYJ__ECrdqjFKtaodw_12_0"></a><a id="Tc_IlxlOJgkA0aQ8BCjRzAAyw_13_0"></a><a id="Tc_FENRZC0BpkWeg4_nIPpnBg_14_0"></a><a id="Tc_jhdDj83o7ECFpV1M2PktTA_15_0"></a><a id="Tc_UQ8uluuENk-Eaw4s0Y8p1Q_16_0"></a><a id="Tc_vOQuQLOMIE6LR3nYA46ntQ_17_0"></a><a id="Tc_YjDNxuOqQkGcbxkEcEoFgw_18_0"></a><a id="Tc_-UJZiiupykapRHWMuL8l5w_19_0"></a><a id="Tc_Li-AsARbME6t89eCYvLimw_19_3"></a><a id="Tc_4UCI-tNe_E-r67TvV0VUPg_19_5"></a><a id="_7d6acc1e_bfa9_4279_8444_8b1f3fe94c79"></a><a id="Tc_QreAmCfczEyAI74GGTvICQ_1_2"></a><a id="Tc_gnEyzNBn_kCTIDS8c-zi0w_2_2"></a><a id="Tc_GuPe4WLxEEyalLHIS8YgZg_2_5"></a><a id="Tc_0ru7CrxL9EyjZZBoKTyKZQ_3_0"></a><a id="Tc_lhe82GFLMUmL5AJLEwFhQA_4_0"></a><a id="Tc_Sk1p-Ztgy0SyFQV2yDReVQ_4_2"></a><a id="Tc_JBAGpz-qFEi9oZxFgB-LmA_4_5"></a><a id="Tc_xG89qCmne06dIX_RZvJZbw_5_0"></a><a id="Tc_mmgzC5LieUOfBiU8v4YlLw_5_3"></a><a id="Tc_5kGli9uKkkaV6DjvyR_M3Q_6_0"></a><a id="Tc_Cdg62SYhFUCecHNniIueTQ_7_0"></a><a id="Tc_2Qo55mKZSkeQpQo_ZgiM1Q_8_0"></a><a id="Tc_m4du2VMndEeuyIBZpi_enQ_9_0"></a><a id="Tc_KflkRcdF2U2FJlL863yAyg_10_0"></a><a id="Tc_5fGqzMvToEK_R82mJ_Itog_11_0"></a><a id="Tc_uSZYjIafykejgobstmIyBQ_12_0"></a><a id="Tc_gfb3keqdpkmrElGYbNxsrg_14_0"></a><a id="Tc_0gYzdoaAU0-8eq4pUeFuMA_15_0"></a><a id="Tc_WwWtjymorE2se9FNalC6BA_15_6"></a><a id="Tc_K7feahCO2EaTLneAgXiGeg_16_0"></a><a id="Tc_6IV3WUf69kuIYxiRTRiKnA_16_3"></a><a id="Tc_5AKVrmPpJUm87Ehe3FWGEw_17_0"></a><a id="Tc_Opr_2UznMEmLX9rDbFqWSg_19_0"></a><a id="Tc_pRJN9sC_OUa7w_x4MEUMBw_19_2"></a><a id="Tc_UDMv0DL_9Uq4tx_oKoi_mw_19_5"></a><a id="Tc_loDSwjrmB024b1FUf-15DQ_21_0"></a><a id="Tc_3zgaLPv12kSdnxEZutA2jw_21_2"></a><a id="Tc_h0HIyyvpPE-qIS3cxm5HXg_21_5"></a><a id="Tc_KgzqJkvnQkWq3AhEndH2FA_22_0"></a><a id="Tc_N3Y7j5sdB0qJVZs-NWUV3Q_24_0"></a><a id="Tc_EYfzP2GZgUi_VSnIqO7Knw_24_2"></a><a id="Tc_PkzGsp4ZH0qHB9a77Ea0jg_24_5"></a><ix:continuation id="Tb_IAFVpgDYMEWYZFnQb3K75g_cont1" continuedAt="Tb_IAFVpgDYMEWYZFnQb3K75g_cont2"><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" id="Tb_-YRvXsD1cU2G4gGfhnLQHw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The reconciliation of the U.S. statutory rate with the Company&#8217;s effective tax rate for the&#160;years ended December 31, 2024 and 2023 is summarized as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Federal income tax expense at statutory rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="Tc_rUB8aqK3OUWofNbsnyvKew_2_2">21.0</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="Tc_BBsOqn529kuQXkxYBsp-yw_2_4">21.0</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Effect of:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Section 162 (m)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="3" format="ixt:num-dot-decimal" name="inod:EffectiveIncomeTaxRateReconciliationSection162Percentage" scale="-2" id="Tc_lxsjgVNt-E6bicK_pl1YxQ_4_2">57.6</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="3" format="ixt:num-dot-decimal" name="inod:EffectiveIncomeTaxRateReconciliationSection162Percentage" scale="-2" id="Tc_DPBMHTikG029JRBV9grFhg_4_4">452.0</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Global Intangible Low-Taxed Income (GILTI)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationGiltiPercent" scale="-2" id="Tc_ZiS2wKe_7kWPpLwKJN1AcA_5_2">3.1</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationGiltiPercent" scale="-2" id="Tc_uN7xU3sHp0KgiiCfEDCDfg_5_4">0.0</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Tax effects of foreign operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign" scale="-2" id="Tc_li7FP8Pzy0K344eu4rMpXw_6_2">1.5</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign" scale="-2" id="Tc_1zJlUCPxVEaIAUPDIKq7vA_6_4">562.6</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Return to provision true up</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="3" format="ixt:num-dot-decimal" name="inod:EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp" scale="-2" id="Tc_DMFjfqz9k0a8W4VONvttOg_7_2">0.8</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="3" format="ixt:num-dot-decimal" name="inod:EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp" scale="-2" id="Tc_swK3YP5_m02QQJPHUZfFgw_7_4">264.4</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign operations permanent differences - foreign exchange gains and losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="3" format="ixt:num-dot-decimal" name="inod:ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses" scale="-2" id="Tc_oF-i-LxxX0WsrmekClIkcg_8_2">0.6</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="3" format="ixt:num-dot-decimal" name="inod:ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses" scale="-2" id="Tc_cjlo6QH9P0qP4o8KhuIi9g_8_4">76.9</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Withholding tax</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="3" format="ixt:num-dot-decimal" name="inod:EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage" scale="-2" id="Tc_unZ39yZzlEiLPBt9heUb8g_9_2">0.5</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="3" format="ixt:num-dot-decimal" name="inod:EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage" scale="-2" id="Tc_l8shovji9UCXZL0SaiP_Og_9_4">106.6</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Research and development credit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" scale="-2" id="Tc_o2naLnDsMUiPSJp-JVMtwQ_10_4">67.3</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Tax effect of intercompany settlement</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="3" format="ixt:num-dot-decimal" name="inod:EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent" sign="-" scale="-2" id="Tc_-Epm3TjEEkuliqYizbvjgw_11_4">234.0</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Deemed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="3" format="ixt:num-dot-decimal" name="inod:EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" sign="-" scale="-2" id="Tc_zkFpgNkgSUm0CXNbFqUNFA_12_2">0.6</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="3" format="ixt:num-dot-decimal" name="inod:EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" sign="-" scale="-2" id="Tc_RJuvx13Gv0eDmX0UF0qxRQ_12_4">149.2</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign rate differential</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" sign="-" scale="-2" id="Tc_YQXCRJCAfU69LpJyEFTXpA_13_2">0.9</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" sign="-" scale="-2" id="Tc_09E3u0hor0GgikJOdjaSvQ_13_4">102.5</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">State income tax net of federal benefit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" sign="-" scale="-2" id="Tc_UGF3gM1nKkOwt6xbOcDq0w_14_2">1.8</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" id="Tc_zqxwaK3ht0qGh2d9QR1T8g_14_4">0.1</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Increase (decrease) in unrecognized tax benefits (ASC 740)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="3" format="ixt:num-dot-decimal" name="inod:EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInUnrecognizedTaxBenefits" sign="-" scale="-2" id="Tc_typpsjrT0ESff4RjNrgGxw_15_2">3.8</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="3" format="ixt:num-dot-decimal" name="inod:EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInUnrecognizedTaxBenefits" scale="-2" id="Tc_hwJxf2rEo0-2U6Pi3ax4ZA_15_4">199.6</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Change in valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" sign="-" scale="-2" id="Tc_vNlN45SeQEi52hRA5abvOw_16_2">30.7</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" scale="-2" id="Tc_s4VtLaiioEy8CLCfASXT-Q_16_4">578.6</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Effect of stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" sign="-" scale="-2" id="Tc_k0gIMHMOsEmyh6Dfivf4fg_17_2">64.8</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" sign="-" scale="-2" id="Tc_3EVcOJHD_0Cm3vVD-JmtWA_17_4">961.6</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" scale="-2" id="Tc_XnaYMfIA1kuFZSdt-exJ6Q_18_2">0.4</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" sign="-" scale="-2" id="Tc_hNOOjk3xEUKlehgOLNZvKg_18_4">7.6</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Effective tax rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" sign="-" scale="-2" id="Tc_dYy3_tGb-UqIiHK9DaiAVQ_19_2">17.1</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="Tc_jWdzGgL27EefNL_ItioPfw_19_4">739.6</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" id="Tb_8eV--ddjFUuCeWdPekfxBQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Deferred tax assets and liabilities are classified as non-current. Significant components of the Company&#8217;s deferred tax assets and liabilities as of December 31, 2024 and 2023 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:27.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Deferred income tax assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Allowances not currently deductible</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" scale="3" id="Tc_jgwxnXxbU0CbMLusXe34KA_4_3">459</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" scale="3" id="Tc_rSmPhx3a7UelVZWiK8W0hA_4_6">283</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment" scale="3" id="Tc_Y_SE7CA9IUuLXddpVIISiQ_5_6">58</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Equity compensation not currently deductible</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" scale="3" id="Tc_8_EC4HUcKkOd6jhAz-TUQQ_6_3">886</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" scale="3" id="Tc_TFae64JJvEm1CM3WwpNKcA_6_6">2,098</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Net operating loss carryforwards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" scale="3" id="Tc_zeSNhk8j10WdiCRgVdvOqA_7_3">7,755</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" scale="3" id="Tc_rgMjUjQGV0i3S5GDwOjThg_7_6">10,514</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Expenses not deductible until paid</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:DeferredTaxAssetsExpensesNotDeductibleUntilPaid" scale="3" id="Tc_B2uE30gN9kOMxdMRWRFDyg_8_3">3,274</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:DeferredTaxAssetsExpensesNotDeductibleUntilPaid" scale="3" id="Tc_1J6IGo8NB0yqJXSnokTp4w_8_6">1,972</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsOther" scale="3" id="Tc_Jph4u5-Sp0S4M711vYJGtw_9_3">87</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsOther" scale="3" id="Tc_Q9F05sxZpUaklNzT4qTk7Q_9_6">585</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Total gross deferred income tax assets before valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsGross" scale="3" id="Tc_XWUoTPwxR0etrmv8S6aHcA_10_3">12,461</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsGross" scale="3" id="Tc_ul-g5pg7DkqtaRoXH3C-7w_10_6">15,510</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_eBgUl0K7v0asu_PUbqtjjw_11_3">4,969</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_K1XYA0wMe0iwctbOOAyZUw_11_6">13,769</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Total Deferred income tax assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsNet" scale="3" id="Tc_Ob2q9MJ2cEGbIFLscPEW0g_12_3">7,492</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsNet" scale="3" id="Tc_HZlVqUv9TEKjTKvDhLDvjA_12_6">1,741</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 18pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Deferred income tax liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Amortization of Intangibles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsAmortizationOfIntangibleAssets" scale="3" id="Tc_W0lfSJypwkeAbewXoCVmSQ_15_3">32</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxLiabilitiesOther" scale="3" id="Tc_XIDXHwl6TEidmoNWboPY6w_16_6">22</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Total Deferred income tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxLiabilities" scale="3" id="Tc_plKKYRrefkSlPVEXiHAe1g_17_3">32</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxLiabilities" scale="3" id="Tc_9hW98nZXKEC75cszEiGFJQ_17_6">22</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net deferred income tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" id="Tc_tgUSnSZiGUy3AImR7jvhbw_19_3">7,460</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" id="Tc_zJBV-Qv2JkyIHis7UZ159A_19_6">1,719</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total deferred income tax assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsNet" scale="3" id="Tc_bunpuNUHKkyRokpizGwJLw_21_3">7,492</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsNet" scale="3" id="Tc_b_PKVMF0skGgqO0kIETldg_21_6">1,741</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total deferred income tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxLiabilities" scale="3" id="Tc_g3Q9jQDnMkiux2Y83Rimeg_22_3">32</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxLiabilities" scale="3" id="Tc_06grRxv330KlVsz3PLaoKw_22_6">22</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net deferred income tax assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" id="Tc_MoVfzJSj60K7yRVMIFLRvQ_24_3">7,460</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" id="Tc_eAYaqh3a2k-8dzqgms0vKg_24_6">1,719</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></ix:continuation></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-20</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_394cdd51_6110_4c46_b54c_82e3fac17352"></a><a id="Tc_VzlXEc2a6U-Z7DQF44i0fw_1_2"></a><a id="Tc_UqPdfzHcEE-QJFO_GE-m5A_1_5"></a><a id="Tc_0Tze-39KY0u3wl5r_L2sFA_2_0"></a><a id="Tc_yureFClAMEqodwCh034fWA_2_2"></a><a id="Tc_U7UdVs0TNES3yyaKChOPzw_2_5"></a><a id="Tc_XKv67QDtakOD4C0BNyaTRA_3_0"></a><a id="Tc_KJI5fv953EW32pGciKVzQw_4_0"></a><a id="Tc_b7xGXK3_3kijT98xcrfKmQ_4_2"></a><a id="Tc_hKXvhK9GzkSTRyufedW8OA_4_5"></a><ix:continuation id="Tb_IAFVpgDYMEWYZFnQb3K75g_cont2" continuedAt="Tb_IAFVpgDYMEWYZFnQb3K75g_cont3"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In assessing the realization of deferred tax assets, management considers whether it is more likely than not that all or some portion of the deferred tax assets will not be realizable. The ultimate realization of the deferred tax assets is dependent upon the generation of future taxable income during the periods in which temporary differences are deductible and net operating losses are available. As of December 31, 2024, the Company continues to maintain a valuation allowance on all of the Company&#8217;s Canadian and German subsidiaries&#8217; deferred tax assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company maintained a valuation allowance of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="6" id="Narr_VQ5AqlyxtU-sOCAVBDz0ng">5.0</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="6" id="Narr_yV0o9xSugUSZm8HNwpD4yw">13.8</ix:nonFraction> million as of December 31, 2024 and 2023, respectively. The net change in the total valuation allowance was a decrease of $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount" sign="-" scale="6" id="Narr_D_aN8MYu7ESvxF5PP3Ft-Q">8.8</ix:nonFraction> million and an increase of $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount" scale="6" id="Narr_s1TN9TldYUSlZc68CMVt7g">0.8</ix:nonFraction> million for the&#160;years ended December 31, 2024 and December 31, 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The change is due to the Company&#8217;s assessment during the third and fourth quarters of 2024, where the Company determined it was more likely than not that the Company would be able to realize the benefit of the deferred tax assets in the United States and the United Kingdom, respectively, resulting in the release of the valuation allowance. In reaching this determination, the Company considered the growing trend of profitability over the last three years in the United States and the United Kingdom, as well as its expectations regarding the generation of future taxable income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The remaining valuation allowance as of December 31, 2024 relates to the Company&#8217;s Canadian and German subsidiaries&#8217; deferred tax assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Despite the access to the overseas earnings and the resulting toll charge, the Company intends to indefinitely reinvest the foreign earnings in our foreign subsidiaries on account of the foreign jurisdiction withholding tax that the Company has to incur on the actual remittances. Unremitted earnings of foreign subsidiaries amounted to approximately $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:UndistributedEarningsOfForeignSubsidiaries" scale="6" id="Narr_4WqBGmECMkycV2EngXLqwQ">53.9</ix:nonFraction> million at December 31, 2024. If such earnings are repatriated in the future or are no longer deemed to be indefinitely reinvested, the Company would have to accrue the applicable amount of foreign jurisdiction withholding taxes associated with such remittances.</p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" id="Tb_pmrZGtGC8EyV41bwxidkiw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">United States and foreign components of income (loss) before provision for income taxes for each of the years ended December&#160;31, were as follows&#160;(in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:60.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:60.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" scale="3" id="Tc_EsRFqgYs8Eqp26m__SROUA_2_3">21,692</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" scale="3" id="Tc_sxEJrIElF0y24QLxmftG-Q_2_6">2,025</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:60.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" scale="3" id="Tc_DW_SYnYJqUiLweg6Zg8PWQ_3_3">2,793</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" sign="-" scale="3" id="Tc_vLL94vJZ2Uahwys-9KGxHQ_3_6">1,886</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:60.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_X0qgYyrm_0WjFo1flI66qA_4_3">24,485</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_NzlVG-_54kuVdbgAliVAqg_4_6">139</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">At December 31, 2024, the Company had available U.S. federal &amp; state net operating loss (NOL) carryforwards of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_kRwU2Sj4_UG70ixd_NZd4w" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:OperatingLossCarryforwards" scale="6" id="Narr_rhD9uglSoU-JQQLLE8F8uw">10.6</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_IncomeTaxAuthorityAxis_us-gaap_StateAndLocalJurisdictionMember_40mIZicf6kqjyV7LLTjtWw" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:OperatingLossCarryforwards" scale="6" id="Narr_Op38Dvfrm0Cyuuax8f8J1Q">6.5</ix:nonFraction>M, respectively. The Company had research and development credit carryforwards of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_kRwU2Sj4_UG70ixd_NZd4w" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch" scale="6" id="Narr_z8_jwUnji06THDBYUy_DKA">0.1</ix:nonFraction> million. The Federal income tax NOL carryforwards expire at various times from the year 2034 through the year 2035 and the research and development credit expires in 2042. The state income tax NOL carryforwards begin expiring at various times starting in 2025. The deferred tax benefit for these NOL carryforwards and R&amp;D credit carryforwards have been recognized for financial statement purposes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Under the CARES Act, the Internal Revenue Code was amended to allow for federal NOL carrybacks for five years to offset previous years&#8217; taxable income or for the NOL to be carried forward indefinitely to offset 80% of taxable income for tax years 2021 and thereafter. As of the date the financial statements were issued, the state NOL carryforwards, if not utilized, will expire beginning in 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">On December 31, 2024, the Company&#8217;s Agility subsidiary in the U.K. had available NOL carryforwards of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_srt_ConsolidatedEntitiesAxis_inod_AgilityMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_ForeignCountryMember_P3LYAbUG30W_adlAJ0XNWA" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:OperatingLossCarryforwards" scale="6" id="Narr_f4GzMSoieEG55S9BM9IGlg">0.4</ix:nonFraction> million. The deferred tax benefit for these NOL carryforwards has been recognized for financial statement purposes. </p></ix:continuation></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-21</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_ba7056e9_96a7_4dff_9f1b_12f6f8ab2cbe"></a><a id="Tc_JsfghvpV4EKAWo3TwlhFyA_1_2"></a><a id="Tc_EgL7WW95NECZUeIQy7TFTQ_2_2"></a><a id="Tc_ejB7xAv4KU24U6AtVzfGSQ_3_2"></a><a id="Tc_4FF368lTHEWquCygKrZR2w_4_2"></a><a id="Tc_wlBbVwwj20a4LwWQkuwPUg_4_5"></a><a id="Tc_jzgdv28wkEKBFZSYpc-PUQ_5_0"></a><a id="Tc_C2oH8NcBTU6b4LlAUhoMZQ_5_2"></a><a id="Tc_V66gp420iEmJQgGOsNOx4A_5_5"></a><a id="Tc_Rn2_Ew3jDk6ZLELa3oisOA_6_0"></a><a id="Tc_CqD_AoSvK0mBmugFc6_29g_7_0"></a><a id="Tc_GPGRTOfkEkKn4HTAOkE-fw_8_0"></a><a id="Tc_7Tr-ycL_4E6YnSKCAUcmCw_9_0"></a><a id="Tc_FiXIyUGiO0KLj57rtNKOpQ_10_0"></a><a id="Tc_6EE10wRJ3EW_Xgm2larD1A_10_2"></a><a id="Tc_NBtLLlR3W0qVn__zSpBBeA_10_5"></a><ix:continuation id="Tb_IAFVpgDYMEWYZFnQb3K75g_cont3"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">On December 31, 2024, the Company&#8217;s Canadian subsidiaries had available Canadian NOL carryforwards of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_srt_ConsolidatedEntitiesAxis_inod_CanadianSubsidiariesMember_mElcPbKVGEuFacdBlL31Xw" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" scale="6" id="Narr_XEVD4pukAkC0KMvjKjtCKQ">23.2</ix:nonFraction> million that will begin to expire in 2037 and research and development credits of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_srt_ConsolidatedEntitiesAxis_inod_CanadianSubsidiariesMember_mElcPbKVGEuFacdBlL31Xw" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration" scale="6" id="Narr_yy-5JputhkKdrdivpJpklw">1.3</ix:nonFraction> million that have no expiry. The potential benefits from these balances have not been recognized for financial statement purposes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">On December 31, 2024, the Company&#8217;s German subsidiary had available NOL carryforwards of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_srt_ConsolidatedEntitiesAxis_inod_GermanAndUnitedKingdomSubsidiariesMember_AXVrvXDUoE6y64H48yyAqQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:OperatingLossCarryforwards" scale="6" id="Narr_dh77Xa9ghkyNFWULkJGOUQ">0.7</ix:nonFraction> million. The potential benefits from these balances have not been recognized for financial statement purposes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company is subject to Federal income tax, as well as income tax in various states and foreign jurisdictions. The Company has open tax years for U.S. Federal and state taxes from 2020 through 2024. Various foreign subsidiaries have open tax years from 2005 through 2024, some of which are under audit by local tax authorities. The Company believes that its accruals for uncertain tax positions as of December 31, 2024 under ASC 740, Income Taxes are adequate to cover the Company&#8217;s income tax exposures.</p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" id="Tb_Ofw34E-4vkSToIAAs42PGQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table represents a roll forward of the Company&#8217;s unrecognized tax benefits and associated interest for the&#160;years ended (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Unrecognized Tax </b></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Benefits</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at beginning of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_slaMpTWOPkW7xwzFHQiQCA_5_3">1,942</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2022_WoVfVjcRzU6369CtXFJAWg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_IMNX063jGEKlI7Bx3lZuJw_5_6">1,680</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Decrease for prior year tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" scale="3" id="Tc_TNLB2zbQhE-ShCkbLFh6aA_6_3">1,309</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" scale="3" id="Tc_Pmfj9PvcZUKHRb3_Yy0mJw_6_6">68</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Increase for current year tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" scale="3" id="Tc_QBjxoMp5O0G2dKm1ngGMbg_7_3">341</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" scale="3" id="Tc_AwpF4_DSiU2cEbDP04_Jhw_7_6">247</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Interest accrual</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" scale="3" id="Tc_u3NkChNIxkKwKpONninXhw_8_3">80</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" scale="3" id="Tc_L3v7QDyEJkyRXF5QanM6tg_8_6">97</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency remeasurement</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="inod:UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation" scale="3" id="Tc_E6dmtwrPQkuK94X8vRReyg_9_3">55</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="inod:UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation" scale="3" id="Tc_qW5fW7PZ80axWGi4_M2-sQ_9_6">14</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at end of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_b6bZ9Wm9k0-TKqgvy1rHrg_10_3">999</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_Wms9l1XTbk-M4sKLetnfeA_10_6">1,942</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The Company had reserves for uncertain tax positions of $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:UnrecognizedTaxBenefits" scale="6" id="Narr_HNaVy8PYr0aQsrtlQ0joLw">1.0</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:UnrecognizedTaxBenefits" scale="6" id="Narr_5EAlBllPKUSfMrqi2NXszQ">1.9</ix:nonFraction> million as of December 31, 2024, and 2023, respectively, where the ultimate tax determination is uncertain due to complexities of tax laws. The decrease in unrecognized tax benefits resulted from reversal of accruals of $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" scale="6" id="Narr_y6esB0IjnkOrJygUL3YObw">1.3</ix:nonFraction> million in unrecognized tax benefits for a subsidiary because the examination period for an open tax year had prescribed. The Company expects that unrecognized tax benefits as of December 31, 2024 and December 31, 2023, if recognized, would have a material impact on the Company&#8217;s effective tax rate.</p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><a id="_e89bb71e_51e2_41c2_8078_ef83dc09af1e"></a><a id="Tc_yHhLtgfBCkejSn4T79U66Q_1_2"></a><a id="Tc_KlybDK70iE--6X1FzGXU5A_2_2"></a><a id="Tc_Mn8iMt9ebUuk1ASHjbiJpw_2_5"></a><a id="Tc_nwCMRv8k2kSWtE1jGlTu3A_4_0"></a><a id="Tc_9FXHFUnbJEKlOXFSL8-1sA_4_2"></a><a id="Tc_dxqPJMSEeEizQekimNWPWQ_4_5"></a><a id="Tc_Q5oJBjbG80GcXwpzdP7kmA_5_0"></a><a id="Tc_7yeUEMpUfkyDl3fZQWNFlQ_7_0"></a><a id="Tc_rhJQDLQofEuViLJ0121IIQ_8_0"></a><a id="Tc_uX0f8ZYfakK39oaWPG8_XQ_8_2"></a><a id="Tc_dIPInbzTq0Wh1Xz_mk-8Aw_8_5"></a><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="inod:LongTermObligationsDisclosureTextBlock" id="Tb_yQF1BNeV002UEj685MsmRQ" continuedAt="Tb_yQF1BNeV002UEj685MsmRQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">6.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Long-term obligations</p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="inod:LongTermObligationsDisclosureTableTextBlock" id="Tb_fA0W4Kw59kW8TCN5ji-jRA" continuedAt="Tb_fA0W4Kw59kW8TCN5ji-jRA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Total long-term obligations as of December 31, 2024 and 2023 consisted of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pension obligations - accrued pension liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PostemploymentBenefitsLiabilityCurrentAndNoncurrent" scale="3" id="Tc_mpYWyhlqvESABLOv7UMSDA_4_3">7,945</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PostemploymentBenefitsLiabilityCurrentAndNoncurrent" scale="3" id="Tc_ZZ4IldJpLE-6otn3GueaTg_4_6">7,128</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Microsoft licenses <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:MicrosoftLicensesObligations" scale="3" id="Tc_W_BZ1qhns0axQsD6qvxFrQ_5_3">442</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:MicrosoftLicensesObligations" scale="3" id="Tc_DVAU8yvmKUeUP83nhLxVQg_5_6">911</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:TotalLongTermObligations" scale="3" id="Tc_g_Dm0mGNbkeQIPnvbw5oFA_6_3">8,387</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:TotalLongTermObligations" scale="3" id="Tc_eoNWZ3JppUCqHeIXQ2oTPw_6_6">8,039</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: Current portion of long-term obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:CurrentPortionOfLongTermObligations" scale="3" id="Tc_5F2Zga1qnUOuRLiHyEQ_7A_7_3">1,643</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:CurrentPortionOfLongTermObligations" scale="3" id="Tc_mXM7QuwTVUyzAlT5Aq6mbA_7_6">1,261</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:NoncurrentPortionOfLongTermObligations" scale="3" id="Tc_7wnMO2rs3kKEHlfNidtbhA_8_3">6,744</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:NoncurrentPortionOfLongTermObligations" scale="3" id="Tc_ztyPReQAnkeP1M_KdVj7Ow_8_6">6,778</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 115.2pt;"><span style="font-size:8pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 12pt 0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup> In March 2023, the Company renewed a vendor agreement to acquire certain additional software licenses, receive technical support and future software upgrades on software licenses through February 2026. Pursuant to this agreement, the Company is contractually liable to pay approximately $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-5" format="ixt:num-dot-decimal" name="inod:LicensesObligationsAmountPayableAnnually" scale="6" id="Narr_wedpwRolZ0aFcN34Dc3KiQ">0.4</ix:nonFraction> million annually over the term of the agreement.</p></ix:nonNumeric></ix:nonNumeric></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-22</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><ix:continuation id="Tb_yQF1BNeV002UEj685MsmRQ_cont1"><ix:continuation id="Tb_fA0W4Kw59kW8TCN5ji-jRA_cont1"></ix:continuation></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="Tb_QHEq0Cq5c0CgWudyIvQFyA" continuedAt="Tb_QHEq0Cq5c0CgWudyIvQFyA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">7.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Commitments and contingencies </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Litigation&#160;- </b>In 2008, a judgment was rendered in the Philippines against a Philippine subsidiary of the Company that is no longer active and purportedly also against Innodata&#160;Inc., in favor of certain former employees of the Philippine subsidiary. The potential payment amount aggregates to approximately $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:LitigationReserve" scale="6" id="Narr_6BnDrqBh60mJpXuR4_Q2Zg">5.6</ix:nonFraction> million, <ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="inod:InterestRateDescriptionLitigation" id="Narr_iVEm2KBLZUiFeavWameaTw">plus legal interest that accrued at 12% per annum from August 13, 2008 to June 30, 2013, and thereafter accrued and continues to accrue at 6% per annum</ix:nonNumeric>. The potential payment amount as expressed in U.S. dollars varies with the Philippine peso to U.S. dollar exchange rate. In December&#160;2017, a group of 97 of the former employees of the Philippine subsidiary indicated that they proposed to record the judgment as to themselves in New Jersey. In January&#160;2018, in response to an action initiated by Innodata&#160;Inc., the United States District Court for the District of New Jersey (&#8220;USDC&#8221;) entered a preliminary injunction that enjoins these former employees from pursuing or seeking recognition or enforcement of the judgment against Innodata&#160;Inc. in the U.S. during the pendency of the action and until further order of the USDC. In June&#160;2018, the USDC entered a consent order administratively closing the action subject to return of the action to the active docket upon the written request of Innodata&#160;Inc. or the former employees, with the USDC retaining jurisdiction over the matter and the preliminary injunction remaining in full force and effect. The principal relevant cases in the Philippines are Court of Appeals Case Nos. CA - G.R. SP No. 93295 Innodata Employees Association (IDEA), Eleanor Tolentino, et al. vs. Innodata Philippines, Inc., et al., and CA - G.R. SP No. 90538 Innodata Philippines, Inc. vs. Honorable Acting Secretary Manuel G. Imson, et al. (28 June 2007), the Department of Labor and Employment National Labor Relations Commission, Republic of the Philippines (NLRC - NCR - Case No.07 - 04713 - 2002, et al., Innodata Employees Association (IDEA) and Eleanor A. Tolentino, et al. vs. Innodata Philippines, Inc., et al), and the Department of Labor and Employment Office of the Secretary of Labor and Employment, Republic of the Philippines (Case No. OS - AJ - 0015 - 2001, In Re: Labor Dispute at Innodata Philippines, Inc.). The U.S. District Court action is Civil Action No.: 2:17 - cv - 13268 - SDW - LDW Innodata Inc. v. Myrna C. Augustin&#160;- Simon; et al.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In February 2024, David D&#8217;Agostino filed a putative class action captioned D&#8217;Agostino v. Innodata Inc., et al., in the United States District Court for the District of New Jersey against the Company and certain of its current and former officers (the &#8220;Securities Class Action&#8221;). In October 2024, the presiding judge in the Securities Class Action appointed a lead plaintiff and approved the lead plaintiff&#8217;s choice of counsel. In January 2025, an amended Securities Class Action complaint was filed in the Securities Class Action. The complaint asserts claims under Sections 10(b) and 20(a) of the Securities Exchange Act of 1934, as amended, and Rule 10b-5 promulgated thereunder, and it alleges, among other things, that the defendants made false and misleading statements regarding the Company&#8217;s artificial intelligence (&#8220;AI&#8221;) technology and services. The plaintiff seeks unspecified damages, fees, interest, and costs. The Company intends to defend itself vigorously, but the Company cannot predict the outcome of the action at this time and can give no assurance that the asserted claims will not have a material adverse effect on its financial position or results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Subsequently, in March 2024, the Company received a letter from the staff of the Securities and Exchange Commission, Division of Enforcement (the &#8220;SEC&#8221;), requesting the Company preserve certain documents and data; in August 2024 the Company received a grand jury subpoena from the U.S. Department of Justice (&#8220;DOJ&#8221;) requesting the Company to produce certain documents; and in September 2024 the Company received a subpoena from the SEC requesting certain information. The Company believes that the SEC and DOJ requests are related to the conduct alleged in the Securities Class Action, and is cooperating with these investigations. The Company is unable to predict when these matters will be resolved or what further action, if any, the SEC or DOJ may take in connection with it.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company is also subject to various other legal proceedings and claims that have arisen in the ordinary course of business. While the Company believes that it has adequate reserves for those losses that it believes are probable and can be reasonably estimated, the ultimate results of legal proceedings and claims cannot be predicted with certainty.</p></ix:nonNumeric></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-23</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><ix:continuation id="Tb_QHEq0Cq5c0CgWudyIvQFyA_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">While management currently believes that the ultimate outcome of these proceedings will not have a material adverse effect on the Company&#8217;s consolidated financial position or overall trends in consolidated results of operations, litigation is subject to inherent uncertainties. Substantial recovery against the Company in the above-referenced Philippine action could have a material adverse impact on the Company, and unfavorable rulings or recoveries in the other proceedings could have a material adverse impact on the consolidated operating results in the period in which the ruling or recovery occurs. In addition, the Company&#8217;s estimate of the potential impact on the Company&#8217;s consolidated financial position or overall consolidated results of operations for the above referenced legal proceedings could change in the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s legal accruals related to legal proceedings and claims are based on the Company&#8217;s determination of whether or not a loss is probable. The Company reviews outstanding proceedings and claims with external counsel to assess probability and estimates of loss. The accruals are adjusted if necessary. While the Company intends to defend these matters vigorously, adverse outcomes that it estimates could reach approximately $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyAccrualAtCarryingValue" scale="0" id="Narr_W_4LrTH6QUCgkJfmf3kYTw">450,000</ix:nonFraction> in the aggregate beyond recorded amounts are reasonably possible. If circumstances change, the Company may be required to record adjustments that could be material to its reported consolidated financial condition and results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Foreign Currency&#160;</b>- To the extent that the currencies of the Company&#8217;s production facilities located in the Philippines, India, Sri Lanka and Israel fluctuate, the Company is subject to risks of changing costs of production after pricing is established for certain customer projects. In addition, the Company is exposed to the risk of foreign currency fluctuation on the non-U.S. dollar denominated revenues, and on the monetary assets and liabilities held by its foreign subsidiaries that are denominated in local currency.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Indemnifications&#160;</b>- The Company is obligated under certain circumstances to indemnify directors, officers and certain employees against costs and liabilities incurred in actions or threatened actions brought against such individuals because such individuals acted in the capacity of director, officer or fiduciary of the Company. In addition, the Company has contracts with certain customers pursuant to which the Company has agreed to indemnify the customer for certain specified and limited claims under such contract. These indemnification obligations occur in the ordinary course of business and, in many cases, do not include a limit on potential maximum future payments. As of December 31, 2024, the Company has not recorded a liability for any obligations arising as a result of these indemnification obligations.</p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:LesseeOperatingLeasesTextBlock" id="Tb_ivnTi03EtUSKsLi3aGxVag" continuedAt="Tb_ivnTi03EtUSKsLi3aGxVag_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">8.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Operating Leases</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company has various lease agreements for its offices and service delivery centers. The Company has determined that the risks and benefits related to the leased properties are retained by the lessors. Accordingly, these are accounted for as operating leases.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">These lease agreements are for terms ranging from <span style="-sec-ix-hidden:Hidden_Nq0piYfJ70iBZplajOJ_Wg;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">three</span></span> to <ix:nonNumeric contextRef="As_Of_12_31_2024_srt_RangeAxis_srt_MaximumMember_9rlFfpQtP0C99Qd_6dkL_A" format="ixt-sec:durwordsen" name="us-gaap:LesseeOperatingLeaseTermOfContract" id="Narr_7_j49Bdyb0OEh1qGonWp0g">eleven years</ix:nonNumeric> and, in most cases, provide for rental escalations ranging from <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2024_To_12_31_2024_srt_RangeAxis_srt_MinimumMember_SipQmlg36kW6u5QpLXmzLg" decimals="4" format="ixt:num-dot-decimal" name="inod:PercentageOfRentalEscalations" scale="-2" id="Narr_vdQoSfyzsUW5t6T8v-qnvw">1.75</ix:nonFraction>% to <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2024_To_12_31_2024_srt_RangeAxis_srt_MaximumMember_vvxg8TJf3EWhXwTHn_N3og" decimals="2" format="ixt:num-dot-decimal" name="inod:PercentageOfRentalEscalations" scale="-2" id="Narr_ksy8toxfD0WDxjV7I_rCxg">15</ix:nonFraction>%. Most of these agreements are renewable at the mutual consent of the parties to the contract.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company recognizes an operating lease liability and right-of-use asset in compliance with current lease accounting standard ASC 842. The amount of right-of-use asset is equal to the present value of the remaining lease payments discounted using the incremental borrowing rate of each respective country. Modifications, if any are recalculated and corresponding adjustments are made to the carrying values of both the lease liability and right-of-use assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">A right-of-use asset is measured as the amount of the lease liability adjusted for the amount of deferred straight-line rent, prepaid rent and lease incentive allowances previously recognized.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-24</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_e9798e11_bcae_4b3f_a49a_91fa6c5168e3"></a><a id="Tc_LoyEcr43hUOMeprnEkgJAQ_1_2"></a><a id="Tc_5F07ZsLIB0iby9Z0gGXyLg_2_2"></a><a id="Tc_UxDEargLD0GRfQ5Sk5mKeQ_2_5"></a><a id="Tc_Suxy_Uipj0yrglRFsRLtHg_4_0"></a><a id="Tc_m1yBrAy6vkaZhxKxoJBAlw_4_2"></a><a id="Tc_EALg06WszUO6haZiCCkoUA_4_5"></a><a id="Tc_swwP8ZdPhUqHha5P--eyDA_5_0"></a><a id="Tc_yb-69fpEu0ORMCUi9EcATA_6_0"></a><a id="Tc_livSS4ecF0KmGSlVucMsNw_6_2"></a><a id="Tc_5Tzfe3QHmEK2iZyPQ86hvg_6_5"></a><a id="_9b6db5aa_fd53_44ec_a928_2697152e731f"></a><a id="Tc_G2sZbbhi90WzjYu9ROLLCA_1_0"></a><a id="Tc_zywceXgbaEyIhR_VoKGe_g_1_2"></a><a id="Tc_Q0ZpkajZW06DOpNDXAYfBA_3_0"></a><a id="Tc_QZxkzXXBh0aY4T4ijXyAMg_3_2"></a><a id="Tc_gYQ7mBIHekOsa9_N_EXPtw_4_0"></a><a id="Tc_ZByOR71-1E2NCxBeBM6yHQ_5_0"></a><a id="Tc_gGk4rIJ6jUeU5MQ7pIRIkw_6_0"></a><a id="Tc_qIAHgake2UOGHjb2aLaiAw_7_0"></a><a id="Tc_yncLfR6xh0qC-b1TV2wXbQ_8_0"></a><a id="Tc_XDlPK0UHL0aDz2zrOJzYyQ_9_0"></a><a id="Tc_5HmgSuHKe0yqAa2_H9jlyg_10_0"></a><a id="Tc_Au04X8jFUkyeqO9kBuN_9g_11_0"></a><a id="Tc_0XDZ7YYGpEm8wfHDuPcRnw_11_2"></a><a id="Tc_1PeVgr65REuLCMmC1NNtDA_13_0"></a><a id="Tc_uQtiTPDdPUSqlWpzm_kplA_13_2"></a><a id="Tc_nkUcOJGgtEO_Iye3ffhyhg_14_0"></a><a id="Tc_H0sFYb8_SkyP71Y8PbLqcA_15_0"></a><a id="Tc_TzLCqbIB_UeO8_MdkIFZCg_15_2"></a><a id="_db827964_eb86_4f47_aa50_4e0b938d695a"></a><a id="Tc_gG6AOZfUCUSB2Nk87Gz3rA_1_0"></a><a id="Tc_0QXTubqKgk6pZDiIWb69HQ_2_0"></a><ix:continuation id="Tb_ivnTi03EtUSKsLi3aGxVag_cont1"><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="inod:ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock" id="Tb_hLPEvijbW02bH0gPRdjkEQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The table below summarizes the amounts recognized in the financial statements related to operating leases for the years presented (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:43.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:22.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:22.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:43.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:52.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year&#160;Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:43.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:43.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Rent expense for long-term operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_LongTermOperatingLeaseMember_Ue1ES-ceIU6xj-0x9WolGQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseExpense" scale="3" id="Tc_v5UhlDDiqkyuqvZ3a747Jw_4_3">1,257</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_LongTermOperatingLeaseMember_Hm5vdvcv2kajh1AKpzN1mw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseExpense" scale="3" id="Tc_MNPz53MDPU-BpSxq1ppkRQ_4_6">1,252</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:43.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Rent expense for short-term leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_ShortTermOperatingLeaseMember_PryYjEecfUy_JehyfdmhrQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseExpense" scale="3" id="Tc_wHWdeKx95EmLsPKSPO4d1g_5_3">178</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_ShortTermOperatingLeaseMember_iB96pRrJBkalOWW3knvCTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseExpense" scale="3" id="Tc_Rna-oHiIY0ym_O36a6ujXA_5_6">305</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:43.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Total rent expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseExpense" scale="3" id="Tc_lx17-fy-XUi6N1albfdpPg_6_3">1,435</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseExpense" scale="3" id="Tc_eCunw8ZMD0mD8eCqX9OzIA_6_6">1,557</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="Tb_m3CCHrIzoEaoUwf2OElZtg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table presents the maturity profile of the Company&#8217;s operating lease liabilities based on the contractual undiscounted payments with a reconciliation of these amounts to the remaining net present value of the operating lease liability reported in the consolidated balance sheet as of December 31, 2024 (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" scale="3" id="Tc_dKSuKP2a_kmhyriV-72VqQ_3_3">1,300</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" scale="3" id="Tc_q6qvdKGknEW0isQwv4wjbA_4_3">1,332</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" scale="3" id="Tc_yX97OfHnw0KjScsvMuaX6g_5_3">1,328</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" scale="3" id="Tc_ZnF1kB4KGkism5XsEnxMnw_6_3">957</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive" scale="3" id="Tc_RsKHyf0xQkGuJG69NmUlXg_7_3">695</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">2030 and thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:LesseeOperatingLeaseLiabilityToBePaidThereafter" scale="3" id="Tc_UbelKcFFlkuYEwGB1gws_Q_8_3">175</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Total lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" scale="3" id="Tc_VnE8CcKjekSRdygVOeRsRA_9_3">5,787</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Less: Interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" scale="3" id="Tc_z_ML9-13A06JczPeMAfGuA_10_3">1,132</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net present value of lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="Tc_j_PtpRNR80qUOlRXuu-_NA_11_3">4,655</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_Vfq65sKeiUqh6E7SO7vRNw_13_3">877</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Long-term portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_TNwQnwK7dUijSD_iT6iH5g_14_3">3,778</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 18pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="Tc_LKLySzmABUGdj5WVIN1tfQ_15_3">4,655</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="inod:ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock" id="Tb_Xk6OWfCteE6kJgvqDpUtDQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The weighted average remaining lease terms and discount rates for all of our operating leases as of December 31, 2024 were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average lease term remaining</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" format="ixt-sec:durwordsen" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="Tc_aUw7F6dz5U2dfmsqVxs-MA_1_2"><span style="font-size:10pt;">51 months</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average discount rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="4" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="Tc_cs2iteRg9Ea0xdSjA8-shg_2_2">9.39</ix:nonFraction>%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock" id="Tb_dkav1_haGUqbB5addzH0Zg" continuedAt="Tb_dkav1_haGUqbB5addzH0Zg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">9.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Pension Benefits</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">U.S. Defined Contribution Pension Plan&#160;- </b>The Company has a defined contribution plan qualified under Section&#160;401(k)&#160;of the&#160;Internal&#160;Revenue&#160;Code, pursuant to which substantially all of its U.S. employees are eligible to participate after completing <ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" format="ixt-sec:durwordsen" name="inod:DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible" id="Narr_LE2EhxjC102ctkQVucMGXw">six&#160;months</ix:nonNumeric> of service. Participants may elect to contribute a portion of their compensation to the plan. Under the plan, the Company has the discretion to match a portion of participants&#8217; contributions. For the&#160;years ended December 31, 2024 and 2023, the Company did not make any matching contributions.</p></ix:nonNumeric></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-25</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_e8f8264d_8204_4ff7_8961_27b374b958d5"></a><a id="Tc_BrV-40UO5EGanpDisA6Ckw_1_2"></a><a id="Tc_BByrFU05Lkiga7g9KjtOnA_1_5"></a><a id="Tc_kjkRfBySD0aoeQUSnYCAWg_3_0"></a><a id="Tc_D--gMD2Td0u6trNoCDTcaw_3_2"></a><a id="Tc_cILwjKw_8Ea7VZDSc0RMoQ_3_5"></a><a id="Tc_XC2Kb3IHfk29iHZPLML04g_4_0"></a><a id="Tc_mV2BrSe8ykW57oE3o7ol0g_6_0"></a><a id="Tc_064Yfo_Uvk6RBYHR8V3k8g_7_0"></a><a id="Tc_V1oPiNM0qkOjZ2FytuEIrg_8_0"></a><a id="Tc_OpiytofL3kq_hSQNU4dOpQ_9_0"></a><a id="Tc_s_p5pmUozU2f5eidShI4rw_9_2"></a><a id="Tc_D8YxcmgucUS4am-CTcIgUw_9_5"></a><a id="Tc_dlf3YjJOvEmutAPHXkTqTQ_1_2"></a><a id="Tc_RWaHH5gBkUGpRVce76nVag_1_5"></a><a id="Tc_Bs2w9TWb80K_62sB1UZrnQ_3_0"></a><a id="Tc_KPRGS45_W0yTvtXsOxMJAQ_3_2"></a><a id="Tc__g0L0UVPW0-2tJe0T6x0cQ_3_5"></a><a id="Tc_jtUUM2YKSUWc9mPR6NdcJA_4_0"></a><a id="Tc_pvB7iCD6ek-hCI6tNn1Ckw_6_0"></a><a id="Tc_yDFjZ-I2_Uy5raNdWgPpkA_6_2"></a><a id="Tc_QrjbFsGkL0qnZ8pR1cPsGQ_6_5"></a><a id="Tc_e4q71EktnEmJXFRZ7Y9uEQ_1_2"></a><a id="Tc_gXesgaN-BEKZPFLI6913tQ_1_5"></a><a id="Tc_cE2gpPwDckOY6F4CLH2mMA_3_0"></a><a id="Tc_usPPTea4Pk6hHA9IdjDrAA_3_2"></a><a id="Tc_fGUSrBsDm0CJY3Nhh1mrhg_3_5"></a><a id="Tc_ovQndPC-5kuVfxzv5o6DAg_4_0"></a><a id="Tc_v-JlsjyjrkeRtITtbVbCPw_5_0"></a><a id="Tc_ts6Xx6HQsU2Bm5IvLZFw8w_5_2"></a><a id="Tc_ENSkAew7TE-zT3a9XZl2kg_5_5"></a><ix:continuation id="Tb_dkav1_haGUqbB5addzH0Zg_cont1" continuedAt="Tb_dkav1_haGUqbB5addzH0Zg_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Most of the non-U.S. subsidiaries provide for government-mandated defined pension benefits. For certain of these subsidiaries, vested eligible employees are provided a lump sum payment upon retiring from the Company at a defined age. The lump sum amount is based on the salary and tenure as of retirement date. Other non-U.S. subsidiaries provide for a lump sum payment to vested employees on retirement, death, incapacitation or termination of employment, based upon the salary and tenure as of the date employment ceases. The liability for such defined benefit obligations is determined and provided on the basis of actuarial valuations. As of December 31, 2024, these plans were unfunded. Pension expense for our foreign subsidiaries totaled approximately $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_SubsidiariesMember_aHoQNEWoh0qVt_-SnqRneg" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:PensionExpense" scale="6" id="Narr_uXN_FDRU102ReTmuyDnOng"><ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_SubsidiariesMember_zL4yJn50YkCqXTbnLnF25Q" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:PensionExpense" scale="6" id="Narr_w4LfpZV86UOdOGR8KVUCaw">1.2</ix:nonFraction></ix:nonFraction> million for each of the years ended December 31, 2024 and 2023.</p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock" id="Tb_iHb-aRUjC0ujrU3tsMbCwg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The following tables set out the status of the non-U.S. pension benefits and the amounts recognized in the Company&#8217;s consolidated financial statements and the components of pension costs for the years ended December 31, 2024 and 2023 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt;">Benefit Obligations:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Projected benefit obligation at beginning of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanBenefitObligation" scale="3" id="Tc_MOnl2zwcZ0Gsoe6isGms9w_3_3">7,128</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2022_WoVfVjcRzU6369CtXFJAWg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanBenefitObligation" scale="3" id="Tc_yUZLUlvK00C_hyO8jwYa1w_3_6">5,906</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Service cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanServiceCost" scale="3" id="Tc_YE50srmge0qfkj4a60IThA_4_3">717</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanServiceCost" scale="3" id="Tc_Hrrn7L4aBEqz4-RtDjZesw_4_6">568</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_dTanDrqytkiI4Uv_EFTIpA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Interest cost</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanInterestCost" scale="3" id="Tc_4Fi7RFITSUeflpeKNoCBmg_5_3">522</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanInterestCost" scale="3" id="Tc_CpIdZtaXBkO6z-UgvMjOhQ_5_6">478</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Actuarial loss (gain)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanActuarialGainLoss" scale="3" id="Tc_L6lYKqgSlUC-1WRQ0itEdQ_6_3">105</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanActuarialGainLoss" sign="-" scale="3" id="Tc_CJF0RgA6m0KtaRNV9IErnQ_6_6">324</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency exchange rates changes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss" sign="-" scale="3" id="Tc__fpbjrVjqEKDyu-3anE_hg_7_3">166</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss" scale="3" id="Tc_jCYIXTvVi0GWT3rZeKYCRQ_7_6">54</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Benefits paid</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanBenefitObligationBenefitsPaid" scale="3" id="Tc_xW3DT_vNeEGwUvqJl9CJGg_8_3">151</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanBenefitObligationBenefitsPaid" scale="3" id="Tc_VSPH_COLVkSoEQYggw4pRg_8_6">202</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Projected benefit obligation at end of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanBenefitObligation" scale="3" id="Tc_2JBVK0kOfEyKbrrJdrKhag_9_3">7,945</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanBenefitObligation" scale="3" id="Tc_7UjVNZpAJ06pZwyPrfYO5A_9_6">7,128</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The Company had an actuarial gain of $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanActuarialGainLoss" scale="6" id="Narr_sNBypC3FCUmW_frNuO84yQ">0.1</ix:nonFraction> million for the year ended December 31, 2024, and an actuarial loss of $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanActuarialGainLoss" sign="-" scale="6" id="Narr_Hzq_5jXxxEKKBnCEUFjrQw">0.3</ix:nonFraction> million for the year ended December 31, 2023. This was mainly due to changes in the salary rate assumption for our Asian subsidiaries. Actuarial (gains) losses are recorded as part of other comprehensive income and are not reflected as part of net periodic pension cost.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt;">Components of Net Periodic Pension Cost:</p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ScheduleOfNetBenefitCostsTableTextBlock" id="Tb_yHJU7CkufkWLBp82O2vgQA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Service cost </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanServiceCost" scale="3" id="Tc_Lu6gQ1rZOUmAcZkMm-gAVA_3_3">717</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanServiceCost" scale="3" id="Tc_g-2UV6cTbUGPwGRlqfUC-g_3_6">568</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Interest cost </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanInterestCost" scale="3" id="Tc_Xw5jmfmV3UefjPDc5iLN2Q_4_3">522</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanInterestCost" scale="3" id="Tc_anEsSoBeEUumx6dQQRKOqw_4_6">478</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_usZZvKP_Ukqb3RkNFi3dVA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Actuarial loss recognized</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit" scale="3" id="Tc_cIulAiv5pkSODbmw2iJGyw_5_3">2</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit" sign="-" scale="3" id="Tc_X4RfsJDE-EWhdAg7rXtIBg_5_6">147</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net periodic pension cost </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost" scale="3" id="Tc_72CoMQqZ_kS0e6QTzmqsGw_6_3">1,237</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost" scale="3" id="Tc_hPIPjE-Ms0KaFBZhIlLgEw_6_6">1,193</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The accumulated benefit obligation, which represents benefits earned to date, was approximately $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanAccumulatedBenefitObligation" scale="6" id="Narr_NJC6mF7bbUuVsOOpE3Ia8A">4.7</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanAccumulatedBenefitObligation" scale="6" id="Narr_lEIL4IFX_EK1NrDR5UpJxQ">3.9</ix:nonFraction>&#160;million for each of the years ended December 31, 2024 and 2023.</p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock" id="Group_V-kaCW842U6R8DAGmd252Q" continuedAt="Group_V-kaCW842U6R8DAGmd252Q_2" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Amounts recognized in the consolidated balance sheets for the&#160;years ended December 31, 2024 and 2023 consisted of the following (in thousands):</p></ix:nonNumeric><ix:continuation id="Group_V-kaCW842U6R8DAGmd252Q_2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Current accrued benefit cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities" scale="3" id="Tc_hulGKXGFUEq95iPkv4mRng_3_3">1,229</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities" scale="3" id="Tc_aHfNeKZM-Uu6A1zXyn5zdw_3_6">880</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Non-current accrued benefit cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent" scale="3" id="Tc_lrcKIBQ5L0ajBGpGhh-Vhg_4_3">6,716</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent" scale="3" id="Tc_wx6oJeOhbE2irKoAHTS0UA_4_6">6,248</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total amount recognized</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent" scale="3" id="Tc_ns8uq89T806f73ovQyXWOw_5_3">7,945</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent" scale="3" id="Tc_P32JmS3uukmJTk5GXrVvSQ_5_6">7,128</ix:nonFraction></p></td></tr></table></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></ix:continuation></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-26</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_fa0b363d_5c2b_4577_98e8_f82b0a19c759"></a><a id="Tc_0R2QpwkGPEujQ9PXFXlTgA_1_0"></a><a id="Tc_bvS7ti4nWU-rN-XavY2RBA_1_3"></a><a id="Tc_F-lnyrDzqk-Ol5dlyNBq-A_3_0"></a><a id="Tc_svgcxE0HkEWdhe5-DsOaGw_3_2"></a><a id="Tc_bhzaV0GFC0eVjbW3gUyMDQ_4_0"></a><a id="Tc_1HXWNzJR106mPTx0fESboA_5_0"></a><a id="Tc_jQw8Yd50-keTCnqCNmjpoA_6_0"></a><a id="Tc_XWasRDI3mUGIg9cxnW-I5g_7_0"></a><a id="Tc_KyzA_efvCkeziAxtFbtj0w_8_0"></a><a id="Tc_kaALyyerJ0-ViXzrr91pPA_9_2"></a><ix:continuation id="Tb_dkav1_haGUqbB5addzH0Zg_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Current accrued benefit cost for pension benefits was included in the current portion of long-term obligations in the consolidated balance sheets. Non-current accrued benefit cost for pension benefits was included in long-term obligations, net of current portion, in the consolidated balance sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Actuarial assumptions for all non-U.S. plans are described below. The discount rates are used to measure the&#160;year-end benefit obligations and the earnings effects for the subsequent&#160;year. The assumptions for the&#160;years ended December 31, 2024 and 2023 were as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ScheduleOfAssumptionsUsedTableTextBlock" id="Tb_VsKlRi_YYUC-8A8Cmq3e5A" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Discount rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="As_Of_12_31_2024_srt_RangeAxis_srt_MinimumMember_l_Zbsb2eb0u2_FRbUsP-cA" decimals="4" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" scale="-2" id="Narr_HwKQ97qgoEuaB2b1kE9YBg">6.09</ix:nonFraction>%-<ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="As_Of_12_31_2024_srt_RangeAxis_srt_MaximumMember_9rlFfpQtP0C99Qd_6dkL_A" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" scale="-2" id="Narr_hCBZ3kFeAkyPIBPRsSxgzg">12</ix:nonFraction>%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_4Xr8jz8S1EOVLxVXoZ6maQ" decimals="4" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" scale="-2" id="Narr_LjtjNs_ZSECIHIupXgZ-vw">6.73</ix:nonFraction>%-<ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_tsOP1MjFWEasxAWpgU6lww" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" scale="-2" id="Narr_mo_XawaywUeLLKDXiBPChg">12.8</ix:nonFraction>%</p></td></tr><tr><td style="vertical-align:bottom;width:62.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Rate of increase in compensation level</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="As_Of_12_31_2024_srt_RangeAxis_srt_MinimumMember_l_Zbsb2eb0u2_FRbUsP-cA" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease" scale="-2" id="Narr_I8Y_neY12Ues0nrToPIq1A">7</ix:nonFraction>%-<ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="As_Of_12_31_2024_srt_RangeAxis_srt_MaximumMember_9rlFfpQtP0C99Qd_6dkL_A" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease" scale="-2" id="Narr_RgEcef-r30-owYBoZFES3g">10</ix:nonFraction>%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_4Xr8jz8S1EOVLxVXoZ6maQ" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease" scale="-2" id="Narr_3TcILMHUlkeTh9JJgDRksA">7.5</ix:nonFraction>%-<ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_tsOP1MjFWEasxAWpgU6lww" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease" scale="-2" id="Narr_m2DX3Qam3k6Ff5YUeiD59w">14.5</ix:nonFraction>%</p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Estimated Future Benefit Payments:</p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ScheduleOfExpectedBenefitPaymentsTableTextBlock" id="Tb_vattJ617gEiF3SzN24Cteg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">As of December 31, 2024, the following benefit payments, which reflect expected future service, as appropriate, were expected to be paid (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:top;width:75.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:75.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths" scale="3" id="Tc_yUEJBFRvskykuJDaYJNPOQ_3_3">1,246</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo" scale="3" id="Tc_Z-K30qIdHE2_M5cY-thCGA_4_3">320</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree" scale="3" id="Tc_ZGqo4olNOka0UgKrAMx6bg_5_3">658</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour" scale="3" id="Tc_0W8jL95ovEOKBeZ3FfqDpg_6_3">188</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive" scale="3" id="Tc_HToceqsA80-l9U3lEkPrtA_7_3">606</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2030 to 2034</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearTen" scale="3" id="Tc_FnKlObD_N0aXc_mypA18FQ_8_3">5,142</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:DefinedBenefitPlanExpectedFutureBenefitPayments" scale="3" id="Tc_U2d285T2BEO2kQ16xTKOhg_9_3">8,160</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:StockholdersEquityNoteDisclosureTextBlock" id="Tb_8EN2-pgxRkqACJYLvWodGw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">10.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Capital Stock</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Common Stock&#160;- </b>The Company is authorized to issue <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="Narr_tUgq-S3WJ0yR4F2ClwvTiQ"><ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="Narr_tZi9a-B8ZU-D4u4E6cOVvg">75,000,000</ix:nonFraction></ix:nonFraction> shares of common stock. Each share of common stock has <ix:nonFraction unitRef="Unit_Divide_Vote_shares_BYSm1KDzP0aI6SdGunFURg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="INF" format="ixt-sec:numwordsen" name="inod:NumberOfVotesForEachShareOfCommonStock" scale="0" id="Narr_JVvNedQ8lEOBSA5pve2Pew">one</ix:nonFraction> vote. Subject to preferences that may be applicable to any outstanding shares of preferred stock, the holders of common stock are entitled to receive ratably such dividends, if any, as may be declared by the Board of Directors. <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Narr_78VseT2kcEy6f_A7K8eFIg">No</ix:nonFraction> common stock dividends have been declared to date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Preferred Stock&#160;- </b>The Company is authorized to issue <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:PreferredStockSharesAuthorized" scale="0" id="Narr_bDiFmWImpEiNiHWtUIxREw"><ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:PreferredStockSharesAuthorized" scale="0" id="Narr_AjsOnFMo_021HaYx7ibxdw">4,998,000</ix:nonFraction></ix:nonFraction> shares of preferred stock. The Board of Directors is authorized to fix the terms, rights, preferences and limitations of the preferred stock and to issue the preferred stock in series that differ as to their relative terms, rights, preferences and limitations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Common Stock Reserved&#160;- </b>As of December 31, 2024, the Company had available for future issuance <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" scale="0" id="Narr_yBaOkpYovESdmZcBY2tHGw">902,824</ix:nonFraction> shares of common stock pursuant to the Company&#8217;s stock option plans.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Treasury Stock&#160;-</b> In July 2019, the Company&#8217;s Board of Directors authorized the repurchase of up to $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_7_31_2019_s93iPUAMGUCz6w2T0wWdiQ" decimals="-5" format="ixt:num-dot-decimal" name="srt:StockRepurchaseProgramAuthorizedAmount1" scale="6" id="Narr_jFiZo6t6dk64lZSYaNG89Q">2.0</ix:nonFraction> million of its common stock in open market or private transactions. There is no expiration date associated with the program. There were <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_MffRea2qLEye13U1QoaE6A" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" id="Narr_GsjRk8zt7US8KCrvyIMkEg"><ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_mmjd8mr120yR6NI5hafzmw" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" id="Narr_p7uVJowcy0aIvmM8bZkwYg">no</ix:nonFraction></ix:nonFraction> share repurchases in the years ended December 31, 2024 and 2023. As of December 31, 2024, the Company repurchased <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_PlanNameAxis_inod_July2019Member_T5ZP6hp28U-RspLZQ67Yvg" decimals="-5" format="ixt:num-dot-decimal" name="srt:StockRepurchaseProgramAuthorizedAmount1" scale="6" id="Narr_qCNJWjhYrk60Hb1yBsv6lQ">1.5</ix:nonFraction> million shares of its common stock under the July 2019 authorization with a value of $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockCommonValue" scale="6" id="Narr_0ksdFxmPiUWu7K1CWCP0fg">1.8</ix:nonFraction> million.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-27</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="Tc_YdD97Cu6lES9gm53atvOIA_1_2"></a><a id="Tc_-cTgqZZTO0is3rLbbPx_Qw_2_2"></a><a id="Tc_Y7VSHIfrjkOFp_lBVigojQ_2_5"></a><a id="Tc_MgGhgN6ToUmaL5n-2U6BHg_4_0"></a><a id="Tc_yXCS5EJi4kCDE7k86aXVew_4_2"></a><a id="Tc_Ggy20ND6HEiZMJZbhglkPQ_4_5"></a><a id="Tc_wxnts9lPX0qdLIQaPnzaRQ_5_0"></a><a id="Tc_0WHgavsxQEWzCYolZHciiQ_5_4"></a><a id="Tc_yWH3TtmWq0W79Yq1jeDV-g_5_7"></a><a id="Tc_KsvcL-fXlUS-fRlPdf13FQ_6_0"></a><a id="Tc_qUM6VKoiHUiGJntNFu-ZNQ_7_0"></a><a id="Tc_5chvThR70EqzP7bcv3ESfw_7_4"></a><a id="Tc_-BWqxUC5bUODczwutB4V0A_7_7"></a><a id="Tc_3aHkh07RokuDUrpre_fnnA_8_0"></a><a id="Tc_pjelLSxxREejmFvBy5312Q_8_3"></a><a id="Tc_VTXX2ZRTl0Oak_sNR2xCKw_8_6"></a><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="Tb_q-gYr41pGE-sct_UWtiNtA" continuedAt="Tb_q-gYr41pGE-sct_UWtiNtA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">11.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Stock Options</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Innodata Inc. 2013 Stock Plan (as amended, the &#8220;2013 Plan&#8221;) expired in accordance with its terms on June 3, 2023. Pursuant to the terms of the 2013 Plan, no further awards may be granted under the 2013 Plan following its expiration. As of December 31, 2024, there were <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2024_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_fwcY7lj510OcAQSgdp1nHA" decimals="INF" format="ixt:num-dot-decimal" name="inod:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights" scale="0" id="Narr_IEm6Dr1htUWWBDlriDYI2g">3,365,193</ix:nonFraction> shares of our common stock underlying outstanding options or rights under the 2013 Plan. Outstanding awards made under the 2013 Plan prior to the 2013 Plan&#8217;s expiration will remain in effect until such awards have been satisfied or terminated in accordance with the terms of the 2013 Plan and such awards.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">On June 9, 2023, stockholders of the Company approved amendments to the Innodata Inc. 2021 Equity Compensation Plan (as amended, the &#8220;2021 Plan&#8221;). The number of shares of common stock of Innodata Inc. that may be delivered, purchased or used for reference purposes (with respect to stock appreciation rights or stock units) for awards granted under the 2021 Plan is <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_6_9_2023_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_HHxLeIWcnEOlVPLGwBoJww" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" scale="0" id="Narr_6OP5MyA0RkioaPiRK96lIA">4,000,000</ix:nonFraction> (the &#8220;Share Reserve&#8221;). Shares subject to an option or stock appreciation right granted under the 2021 Plan count against the Share Reserve as <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="As_Of_6_9_2023_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_HHxLeIWcnEOlVPLGwBoJww" decimals="INF" format="ixt-sec:numwordsen" name="inod:ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio" scale="0" id="Narr_XaS0tUVSQkyFqMjjtogK2g">one</ix:nonFraction> share for every share granted, and shares subject to any other type of award granted under the <span style="-sec-ix-hidden:Hidden_upOLd_YbXkymY66duN8I7w;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">2021</span></span> Plan count against the Share Reserve as <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="As_Of_6_9_2023_us-gaap_PlanNameAxis_inod_AwardsGrantedPriorToApril112022Member_knE5T9x-PkGSL_HNw99myg" decimals="INF" format="ixt-sec:numwordsen" name="inod:ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio" scale="0" id="Narr_4EdXgRWo5UqlJc7C9ZTiUA">two</ix:nonFraction> shares for every share granted for awards granted prior to April 11, 2023, and <span style="-sec-ix-hidden:Hidden_-5NjuzOIGkyCsdwqEurfMw;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">one</span></span> and a half shares for every share granted for awards granted on or after April 11, 2023. Any shares withheld, tendered or exchanged by a participant in the 2021 Plan as full or partial payment to Innodata of the exercise price under an option under the 2021 Plan, or in satisfaction of a participant&#8217;s tax withholding obligations with respect to any award under the 2021 Plan, will not be added back to the Share Reserve.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The fair value of stock options is estimated on the date of grant using the Black-Scholes option pricing model. The weighted-average fair value of the options granted, and weighted-average assumptions were as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" id="Tb_GDBlJSuViki1MzYgqN81JQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:46.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For&#160;the&#160;Year&#160;Ended&#160;December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average fair value of options granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_S1GDvg3IeE2XmKn1NwjnPQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_idYRrGRxsUmZBcE3yBIeQA_4_3">32.07</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JLyhRpUyIkyJ7Y4X6NRSHg" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_4LrjuzVSDUaik90EWmgEXA_4_6">2.56</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Risk-free interest rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_S1GDvg3IeE2XmKn1NwjnPQ" decimals="4" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" id="Tc_YlINDGfYaUSpcQ0gbvJw9g_5_3">4.40</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JLyhRpUyIkyJ7Y4X6NRSHg" decimals="4" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" id="Tc_5cY99o93hEKEszhRNrABbA_5_6">4.34</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:48.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Expected term (years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_S1GDvg3IeE2XmKn1NwjnPQ" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" id="Tc_eg1Ot36gVEeL0yBTlKxyJA_6_3"><span style="font-size:10pt;"> 6.0</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JLyhRpUyIkyJ7Y4X6NRSHg" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" id="Tc_NWG9WGjueEei30cnF0FR6w_6_6"><span style="font-size:10pt;"> 6.0</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Expected volatility factor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_S1GDvg3IeE2XmKn1NwjnPQ" decimals="4" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" scale="-2" id="Tc_Q5QZWC1myUKL1-aZqVSI2Q_7_3">87.69</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JLyhRpUyIkyJ7Y4X6NRSHg" decimals="4" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" scale="-2" id="Tc_mmvfCQgWSUSYe9kYbf7_cA_7_6">75.35</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:48.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Expected dividends</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_S1GDvg3IeE2XmKn1NwjnPQ" decimals="2" format="ixt-sec:numwordsen" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" scale="-2" id="Narr_xP-9guxj0Eiz-VhTDznjbA">None</ix:nonFraction> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JLyhRpUyIkyJ7Y4X6NRSHg" decimals="2" format="ixt-sec:numwordsen" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" scale="-2" id="Narr_0mAuF5wSh0eIOe1ezV1Ccg">None</ix:nonFraction> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company estimates the risk-free interest rate using the U.S. Treasury yield curve for periods equal to the expected term of the options in effect at the time of grant. The expected term of options granted is based on a combination of vesting schedules, term of the options and historical experience. Expected volatility is based on the historical volatility of the Company&#8217;s common stock. The Company uses an expected dividend yield of <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_S1GDvg3IeE2XmKn1NwjnPQ" decimals="2" format="ixt-sec:numwordsen" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" scale="-2" id="Narr_8yjByFOwVU6AudvYTbv3mw">zero</ix:nonFraction> since it has never declared or paid any dividends on its capital stock.</p></ix:nonNumeric></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-28</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_6ce32d92_3f24_4df1_9a2e_ea54d1a09b08"></a><a id="Tc_vy7v0pqY2kG7dBU1kwnSFw_1_7"></a><a id="Tc_rV6kjdSE5EmOQ1kMCBhRwQ_2_4"></a><a id="Tc_mCO-FLtH5Ei8i5fJhP-Cug_2_7"></a><a id="Tc_w2_aLxEh9UuFmAGjW_hXSw_3_2"></a><a id="Tc_d46Gh0NSwU2iJic87lGkhA_3_4"></a><a id="Tc_pGkEUztBlEylLtOu12a5jg_3_7"></a><a id="Tc_syu2RSpxnEGgoBG4PAuMig_3_9"></a><a id="Tc_GJnGFaiJ_E2JLZNiebK1jw_4_2"></a><a id="Tc_xbQaWLmdC0GEceoOK1-hcQ_4_4"></a><a id="Tc_-WzK3WLol0u7hOSdx5u3pA_4_7"></a><a id="Tc_Vs-aO-uwfkuP9TrUEHPv7A_4_9"></a><a id="Tc_TIn5dXlGZEGTWEw9bUYdwg_5_0"></a><a id="Tc_wFBr9v0FKkCBcgBoXW72lA_5_4"></a><a id="Tc_xPsRctdYq0Scwd-clIquxg_5_9"></a><a id="Tc_1PhicKOoqkuG7cW8CzKO4w_6_0"></a><a id="Tc_X23WY1j9LUqy361HAsPHtA_6_2"></a><a id="Tc_nnQggjdihEKntjj_pYxfVw_6_5"></a><a id="Tc_m1HXlv1SIU21hCeeKT2RoA_7_0"></a><a id="Tc_BGI0Njh5S0mFO9ZAWQvx1Q_8_0"></a><a id="Tc_3DfWKoazxkyXtc86MUMUqw_9_0"></a><a id="Tc_cz5sr9tl9ESCPKh9sQ0lJQ_9_4"></a><a id="Tc_20DH-0XVZUyGg8klPteIAQ_9_9"></a><a id="Tc_PX5PdGMIHUeF3-qKSz_0-g_11_0"></a><a id="Tc_Xqh6-pMCPUCuhdi6eDzMBA_11_4"></a><a id="Tc_OnKRMDJWDU2k0Vkd4VTANg_11_9"></a><a id="Tc_0-hWY3vMRUawxr8CK7nIrw_13_0"></a><a id="Tc_2kA0wl9zoEmdMpCsZspZRA_13_4"></a><a id="Tc_9-IS1bhXDk2tNJTXywPffA_13_9"></a><a id="_a04a6c0e_988b_4047_a4cc_32428cf2a915"></a><a id="Tc_0IDIY4HMbk2t9Px_KT97xw_1_7"></a><a id="Tc_Tksc-TiDpEakCB0gM5GS4Q_2_4"></a><a id="Tc_YU55gPZBiUm13BXGWPf7rw_2_7"></a><a id="Tc_vkVXWQ59G0S34V4KimvVfw_3_2"></a><a id="Tc_7EPofl7D7kGRBCNCSXoIIQ_3_4"></a><a id="Tc_S1jOpqr3K0ulrOICZ6_UiQ_3_7"></a><a id="Tc_2JM_HXasZUGjMNQSr6b7JQ_3_9"></a><a id="Tc_OMpwEjPWxEGqF3uP1Wrrvw_4_2"></a><a id="Tc_UEr1cBdNGEWTZ1SZt1VNJA_4_4"></a><a id="Tc_KC5_RItSrkSFFbiRUoyp7w_4_7"></a><a id="Tc_UHnKfM-WJkWnBQ7lWPY5fA_4_9"></a><a id="Tc_Y3PGO6BZzk-rkTQXg2CDZw_6_0"></a><a id="Tc_W15uaN2-MkeNTFHpLqgt4g_6_4"></a><a id="Tc_VwX1KiNPU0iRZ2VSuMXUmA_6_9"></a><a id="Tc_HK2e7_wiL0y88HvP2KWOzg_7_0"></a><a id="Tc_Ks9_vXRipUmK1T6EvAM4rA_8_0"></a><a id="Tc_WlA8TKqrgkmlh0HRNrmOIQ_9_0"></a><a id="Tc_EqhPLTYcEU-LQNo-O9bYPg_10_0"></a><a id="Tc_ILguA3DHVUi9yNUSAX9D5w_10_4"></a><a id="Tc_C3G1EJyYNkOoze-k4HbOGQ_10_9"></a><a id="Tc_X4xaoUBHJEWeYwpkLrK2NA_12_0"></a><a id="Tc_HwvcUkzUcU6DKQ43JaKsnA_12_4"></a><a id="Tc_3lEkZA5ss0umfJpl7ILUmw_12_9"></a><a id="Tc_DdWbg2BcRkyePbJVzeLExQ_14_0"></a><a id="Tc_JSqnw6MiSkCQG3zSpvGQ4w_14_4"></a><a id="Tc_pYwdTzsOaU-Hs9Zwslm1Hg_14_9"></a><ix:continuation id="Tb_q-gYr41pGE-sct_UWtiNtA_cont1" continuedAt="Tb_q-gYr41pGE-sct_UWtiNtA_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Stock Options</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">2013 Plan</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">A summary of option activity under the 2013 Plan and changes during each of the years ended December 31, 2024 and 2023 are presented below. </p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_PlanNameAxis_inod_EquityPlansMember_APOUYYbHokqBF-jX-_Hqag" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" id="Group_p4BpLoT_bUyLbRNvW4Xnng" continuedAt="Group_p4BpLoT_bUyLbRNvW4Xnng_2" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:15.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted&#160;-Average</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:15.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contractual&#160;Term</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:15.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(years)</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:11.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Intrinsic&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at January 1, 2024</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_EtniPK0ICU-6FZ6XRrVQ1g" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Tc_nPWQdAFq2kK9oKts9jQX0g_5_2">5,339,162</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_EtniPK0ICU-6FZ6XRrVQ1g" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_4YIFCVYJ70KAUHp4ttsgyg_5_5">3.22</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_jmxIQXc-t0KaBZyssqMq0w" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Tc_XgTePl02XUKRzrn0PfOjeQ_5_7"><span style="font-size:10pt;"> 6.38</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_EtniPK0ICU-6FZ6XRrVQ1g" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="0" id="Tc_Y-jXNjfiBE2KWadDzlt33w_5_10">28,640,009</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Granted</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_aWQm3TUbnU-1V5aCIUcZDQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Tc_xJj2icBTgEOzOBDuMr5bzg_7_2">2,169,968</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_aWQm3TUbnU-1V5aCIUcZDQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_ujgVVL-Dl0ClUXXhOkTSFg_7_5">2.54</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_aWQm3TUbnU-1V5aCIUcZDQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" scale="0" id="Tc_61Ei-v-6vkSZ9IGCjwKXHw_8_2">4,001</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_aWQm3TUbnU-1V5aCIUcZDQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_AbMUuUd670-d76NSIbJNaA_8_5">6.96</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at December 31, 2024</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_e10c1fXBpE25m0tgQ7njdA" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Tc_4Ycvdk73KE23TTCKRZqOnQ_9_2">3,165,193</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_e10c1fXBpE25m0tgQ7njdA" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_bm9pk2GifEmyNiOQHoTdUw_9_5">3.67</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_aWQm3TUbnU-1V5aCIUcZDQ" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Tc_cobHfbbrPU2_KDWxktVxvQ_9_7"><span style="font-size:10pt;"> 6.32</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_e10c1fXBpE25m0tgQ7njdA" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="0" id="Tc_Ba0MXO64CEesjM9tCL2Kkg_9_10">113,458,326</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercisable at December 31, 2024</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_e10c1fXBpE25m0tgQ7njdA" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" scale="0" id="Tc_FdkXJuuTjkaFC-RFEp10dA_11_2">1,673,966</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_e10c1fXBpE25m0tgQ7njdA" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" scale="0" id="Tc_9qM6c1jzq0yVl9UxUR2jlg_11_5">2.54</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_aWQm3TUbnU-1V5aCIUcZDQ" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" id="Tc_l3n_OLdk3E-Sj0Qhw4A37g_11_7"><span style="font-size:10pt;"> 5.51</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_e10c1fXBpE25m0tgQ7njdA" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" scale="0" id="Tc_aObVsW9v2k2SBmFakLWnVQ_11_10">61,901,891</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested and Expected to vest at December 31, 2024</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_e10c1fXBpE25m0tgQ7njdA" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" scale="0" id="Tc_HfQI6rKgv0Gnwo6XfwxX7A_13_2">3,165,193</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_e10c1fXBpE25m0tgQ7njdA" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_ZQO3CM4kNUy22VGnULXwZQ_13_5">3.67</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_aWQm3TUbnU-1V5aCIUcZDQ" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" id="Tc_lfCEf93WEkuWH4kiKqeYhw_13_7"><span style="font-size:10pt;"> 6.32</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_e10c1fXBpE25m0tgQ7njdA" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" scale="0" id="Tc_ovUWjaXI6EuJN7mhcAIcLA_13_10">113,458,326</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted&#160;&#8211;&#160;Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contractual&#160;Term</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Intrinsic&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at January 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_yJZ0XTvo-Em74H2hVVhUCw" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Tc_gvEk_7qg-UiEKSHghr1wzQ_6_2">6,690,490</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="As_Of_12_31_2022_WoVfVjcRzU6369CtXFJAWg" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_M0AH1iz5BEK2E8DfomE0Ew_6_5">3.09</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_G03ck5x1Xk2bCIxUAeF0nA" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Tc_LtVAKMihtUCdbzxyLvoPxg_6_7"><span style="font-size:10pt;"> 7.19</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_yJZ0XTvo-Em74H2hVVhUCw" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="0" id="Tc_a2v3b1-0wE-19M64Auokpw_6_10">5,989,709</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Granted*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_jmxIQXc-t0KaBZyssqMq0w" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" scale="0" id="Tc_C1nxmB1U1Uyrr5xiEPukaQ_7_2">25,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_RBceFE67qUqqsVEwYn3RKg_7_5">3.31</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_jmxIQXc-t0KaBZyssqMq0w" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Tc_J-oqs93_B0GlIXEnIj_big_8_2">1,287,462</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_-6VEgTmeVEe8_-7QfmYH5A_8_5">2.37</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_jmxIQXc-t0KaBZyssqMq0w" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" scale="0" id="Tc_37XBZYYew0GggiRGElsBZQ_9_2">88,866</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_awJ363ZsmEO4614CWprWog_9_5">6.27</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_EtniPK0ICU-6FZ6XRrVQ1g" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Tc_BMO3nhHZMEOe8d74d54Idg_10_2">5,339,162</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_d9OcC9ye-UyOV_g7tnkNMA_10_5">3.22</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_jmxIQXc-t0KaBZyssqMq0w" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Tc_lvdShK4XL0GniPJxRLJINA_10_7"><span style="font-size:10pt;"> 6.38</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_EtniPK0ICU-6FZ6XRrVQ1g" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="0" id="Tc_s6VdcSSSzUOCr998SLmGIA_10_10">28,640,009</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercisable at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_EtniPK0ICU-6FZ6XRrVQ1g" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" scale="0" id="Tc_tceuJdBf6ka9Uw88vUSa0Q_12_2">3,475,780</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" scale="0" id="Tc_IRTXLmQBk025VIFtH-UvTw_12_5">2.18</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_jmxIQXc-t0KaBZyssqMq0w" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" id="Tc_3uhYuCOc60mf-fJ8tBsL9g_12_7"><span style="font-size:10pt;"> 6.40</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_EtniPK0ICU-6FZ6XRrVQ1g" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" scale="0" id="Tc_Q6J4odYZiEi3rMMctsvyJQ_12_10">22,237,334</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested and Expected to vest at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_EtniPK0ICU-6FZ6XRrVQ1g" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" scale="0" id="Tc_KgLz9maGJEOyzv7dqEAsog_14_2">5,339,162</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_VV2QYU_lHE6B65wa-aZ3ZQ_14_5">3.22</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_jmxIQXc-t0KaBZyssqMq0w" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" id="Tc_YLZyZVkstk62DehoCZ1gfQ_14_7"><span style="font-size:10pt;"> 6.38</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_EtniPK0ICU-6FZ6XRrVQ1g" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" scale="0" id="Tc_V194d8jCtEy3vBEovZLBMA_14_10">28,640,009</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt;"><i style="font-style:italic;">* Includes </i><i style="font-style:italic;"><ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2023_To_12_31_2023_srt_TitleOfIndividualAxis_srt_DirectorMember_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_y3YcLN4pr0GG0CKG2-ytUg" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" scale="0" id="Narr_wI4p4kyQzka8lFFYfi8FHA">25,000</ix:nonFraction></i><i style="font-style:italic;"> stock options granted to a non-employee member of the Company&#8217;s advisory board.</i></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></ix:continuation></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-29</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_6456fb90_2244_4904_bf16_3da35c206894"></a><a id="Tc_YwiYtGADeEOUKrNV31ZLzw_1_7"></a><a id="Tc_IcpaPvuhA0yb5uXLNwrPiQ_2_4"></a><a id="Tc_mXYGDpAN20mZB72-83gvrQ_2_7"></a><a id="Tc_lYMno91aekudaBc1_KLzlQ_3_2"></a><a id="Tc_McD-MUm1NEWMMHCZxTkQYA_3_4"></a><a id="Tc_-M9-4x5E7Ei1dV41uezcJA_3_7"></a><a id="Tc_5EK5zJ0pukmr7vY-l2SavA_3_9"></a><a id="Tc_hrt4rX_OX0iJNj0f8OcIDw_4_2"></a><a id="Tc_TP-6g6ErO0iMO-Qc0c5lkA_4_4"></a><a id="Tc_SUY6c41MJ0mZD5eVoYHeig_4_7"></a><a id="Tc_uKMotipYmEKr6IhLYi0JGQ_4_9"></a><a id="Tc_LgiqK7PgAECNQmKmZeQVcw_6_0"></a><a id="Tc_JivBWzgipkmR6Qd4wGDNUQ_6_4"></a><a id="Tc_lrKa2kNsGES1IzSCOYfeIQ_6_9"></a><a id="Tc_f9KKJSFXxUK5eJ5lTFnvYw_7_0"></a><a id="Tc_jZrz8TxahEOW0WX0MDZH1w_8_0"></a><a id="Tc_uyDnusyeu0GOsTTFs26RHA_9_0"></a><a id="Tc_8HVXPOvmhEKimQt-opJXcQ_10_0"></a><a id="Tc_Lrl6SZuk2EK-3Lowm3zGuw_10_4"></a><a id="Tc_CoWQO8bZlU6N2Zfu2z2vgw_10_9"></a><a id="Tc_WDaAjEPnPUmkS_ks4zBMRA_12_0"></a><a id="Tc_bwqpv_78IEmPiURHUznShQ_12_4"></a><a id="Tc_RemufAROKUWPWtjBQo6Few_12_9"></a><a id="Tc_mQLxx-I1BU-yKrbYjzzeQw_14_0"></a><a id="Tc_VI9CaZMnEUGGow3OWiS83g_14_4"></a><a id="Tc_BChxm3kjc0i00U8khdZBZg_14_9"></a><a id="_9e0b1d10_d3e3_4cb5_a6e3_59781eb2c387"></a><a id="Tc_fZW7qRCYVU-4PozWoq-qeA_1_7"></a><a id="Tc_Nk4ECuG5mkSvcaOg5Q6YHQ_2_4"></a><a id="Tc_cJ44cBDiAEK46IhoSU7bCw_2_7"></a><a id="Tc_t3_B2WlJlUutrKKlHlMDBA_3_2"></a><a id="Tc_IkDJ9UJ3e0OBVoQh2cuMlg_3_4"></a><a id="Tc_6VNcjkXbI0SsuTcTK6sA1A_3_7"></a><a id="Tc_Bnf8drcwYkeSsNtvbRviqg_3_9"></a><a id="Tc_Xyak4Qu2ck-z1vw44YK4uw_4_2"></a><a id="Tc_OfJkbVCF0kyDkooGnUvu1A_4_4"></a><a id="Tc_AOfPGzlzXkub-6nTXom53Q_4_7"></a><a id="Tc_9MsoH0f590Wcc1nfYty6Ng_4_9"></a><a id="Tc_Gs3TmGvmIUuC9KRQNPatrQ_6_0"></a><a id="Tc_PolSSlfO7UaWAy02fAdJxA_6_4"></a><a id="Tc_XvME0oKqe0alOrjesibEUQ_6_9"></a><a id="Tc_bAxGJOeGcUy6WjfwmLJBMA_6_10"></a><a id="Tc_aIOssjkYukOjF4voCVfFxQ_7_0"></a><a id="Tc_bIBiivJgSUiT2gnefBQSnw_8_0"></a><a id="Tc_z-gnZJ0exE6WpOFKgd-K-Q_9_0"></a><a id="Tc_WXNo5Wx8C0quJwv-MxniwQ_10_0"></a><a id="Tc_OhD9Kq23ukWOmptJR6fa3A_10_4"></a><a id="Tc_2mhYqYpZZEy-8cGe5lWBFA_10_9"></a><a id="Tc_VmzoNXCW9EmkTJwSpg7tow_12_0"></a><a id="Tc_3fgdSQMnKEaLEH6ZWT0WMQ_12_4"></a><a id="Tc_ljAeoiTiw06-LoTXMGadhg_12_9"></a><a id="Tc__U3Lc9gav0iF8eVUKf5CRw_14_0"></a><a id="Tc_u7waE0P2AEWiSbZtBXiZ_w_14_4"></a><a id="Tc_m2quPp05yUySX9RtLfKZ1Q_14_9"></a><ix:continuation id="Tb_q-gYr41pGE-sct_UWtiNtA_cont2" continuedAt="Tb_q-gYr41pGE-sct_UWtiNtA_cont3"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><i style="font-style:italic;">2021 Plan</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">A summary of option activity under the 2021 Plan and changes during each of the years ended December 31, 2024 and 2023 are presented below. </p><ix:continuation id="Group_p4BpLoT_bUyLbRNvW4Xnng_2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted&#160;- Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contractual Term</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intrinsic Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding at January 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_nBzKbRsmBkuJ7QlgwyUinQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Tc_NEdK7D7Z4EOOQrwQxRHjrQ_6_2">923,571</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_nBzKbRsmBkuJ7QlgwyUinQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_XWOjEwziFES_v044fG0HjA_6_5">3.41</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_K4xRyIwJ9UuhdosvSbDM9Q" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Tc_fY4b2w0dq0qfEgqhNLPfZg_6_7"><span style="font-size:10pt;"> 8.76</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_nBzKbRsmBkuJ7QlgwyUinQ" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="0" id="Tc_2Gufe9zkeE2T5h4pO-u4lg_6_10">4,786,252</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_NmgNgFypa0-knTgaSMhzpg" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" scale="0" id="Tc_6EHwsSI4kUuoXkejXmVL4Q_7_2">268,500</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_NmgNgFypa0-knTgaSMhzpg" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_iyxLkscVgUm-1f4B26mN7Q_7_5">42.57</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_NmgNgFypa0-knTgaSMhzpg" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Tc_O77GpS66SEarp_SeEAlgfg_8_2">336,264</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_NmgNgFypa0-knTgaSMhzpg" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_RB8AWsxgrUGx9qdflXxADA_8_5">3.44</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_NmgNgFypa0-knTgaSMhzpg" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" scale="0" id="Tc_mEAQyB8bgE66AEa-_dQqXA_9_2">13,536</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_NmgNgFypa0-knTgaSMhzpg" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_edixypSvNEul1m4EiTAp-Q_9_5">4.84</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding at December 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_0zg3zU8O1kWhCYvsJi7GOQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Tc_dYNFeg3FYkech6hQOFQizQ_10_2">842,271</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_0zg3zU8O1kWhCYvsJi7GOQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_kEFNTSVD_k6A4vRYcOs-UA_10_5">15.86</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_NmgNgFypa0-knTgaSMhzpg" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Tc_Nr2IFc2ZCEyp51YgKBBKBQ_10_7"><span style="font-size:10pt;"> 8.46</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_0zg3zU8O1kWhCYvsJi7GOQ" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="0" id="Tc_3_mB6e90-EOj1aRsl6f2fg_10_10">20,847,471</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Exercisable at December 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_0zg3zU8O1kWhCYvsJi7GOQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" scale="0" id="Tc_NwoWCoHjzkmwvcKviRP7Tw_12_2">314,244</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_0zg3zU8O1kWhCYvsJi7GOQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" scale="0" id="Tc_B2H4AK9_3Ee3sw9niO1izA_12_5">3.32</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_NmgNgFypa0-knTgaSMhzpg" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" id="Tc_DO-QYFPAo0yxKsIRXarKBw_12_7"><span style="font-size:10pt;"> 7.73</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_0zg3zU8O1kWhCYvsJi7GOQ" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" scale="0" id="Tc_Cw-1MPUPKk23xvDc_1PCEA_12_10">11,374,251</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested and Expected to vest at December 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_0zg3zU8O1kWhCYvsJi7GOQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" scale="0" id="Tc_v0GaGJ5GJ0up_yoGwqfY0w_14_2">842,271</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_0zg3zU8O1kWhCYvsJi7GOQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_QhREXKYS_UOVNiW6kRoawg_14_5">15.86</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_NmgNgFypa0-knTgaSMhzpg" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" id="Tc_GEDamvE4yk6_suPpAP1w0g_14_7"><span style="font-size:10pt;"> 8.46</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_0zg3zU8O1kWhCYvsJi7GOQ" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" scale="0" id="Tc_RLoLim5I1UawEmLvLalOeg_14_10">20,847,471</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted&#160;-&#160;Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contractual Term</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intrinsic Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding at January 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_1QX6msLoqUSOjSTVRyjd3Q" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Tc_JqgOC2UXEUGMQNTLE1hLbg_6_2">1,027,500</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_1QX6msLoqUSOjSTVRyjd3Q" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_X-h5xebwuEuAPqkc7PcSgA_6_5">3.46</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_UnngrDnV7UuQUrb43pZqTA" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Tc_Gt_k-I0RmEumanwN2xNe4w_6_7"><span style="font-size:10pt;"> 9.75</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_K4xRyIwJ9UuhdosvSbDM9Q" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" scale="0" id="Tc_2u1LiRvP3Eabs_1pMmHlng_7_2">3,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_K4xRyIwJ9UuhdosvSbDM9Q" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_HPJ6B-5-rUCvZi6GWCraXg_7_5">13.05</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_K4xRyIwJ9UuhdosvSbDM9Q" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Tc_qvczTbsOLECXLsH_AV-lbw_8_2">63,595</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_K4xRyIwJ9UuhdosvSbDM9Q" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_J9Z_rbr61UK8yy8bBfXT6g_8_5">4.59</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_K4xRyIwJ9UuhdosvSbDM9Q" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" scale="0" id="Tc_4ITGny1Q_Ee81UTiQB76FA_9_2">43,334</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_K4xRyIwJ9UuhdosvSbDM9Q" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_WwrnpcXcjESMDkOmBjbjKg_9_5">3.41</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_nBzKbRsmBkuJ7QlgwyUinQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Tc_eWdeWvk_ok6_M-vBBmWEaA_10_2">923,571</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_nBzKbRsmBkuJ7QlgwyUinQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_lFG8m90xwU2VbuTixcmurg_10_5">3.41</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_K4xRyIwJ9UuhdosvSbDM9Q" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Tc_bdu1TtBEwkSAvGaHZ7DKMg_10_7"><span style="font-size:10pt;"> 8.76</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_nBzKbRsmBkuJ7QlgwyUinQ" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="0" id="Tc_TxdW_W8sJ0idZeyuDvnBmA_10_10">4,786,252</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Exercisable at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_nBzKbRsmBkuJ7QlgwyUinQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" scale="0" id="Tc_EuRV0_sfy0SAdVzaqCgHTA_12_2">386,209</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_nBzKbRsmBkuJ7QlgwyUinQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" scale="0" id="Tc_GkJUWOEX_0KoLK6nH3NfCA_12_5">3.34</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_K4xRyIwJ9UuhdosvSbDM9Q" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" id="Tc_gqb9uDlv20-jbhWm_IT39w_12_7"><span style="font-size:10pt;"> 8.74</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_nBzKbRsmBkuJ7QlgwyUinQ" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" scale="0" id="Tc_ObFR5lQG4k2y2F7V-aGCGQ_12_10">2,023,601</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested and Expected to vest at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_nBzKbRsmBkuJ7QlgwyUinQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" scale="0" id="Tc_5zw-QfoYRkGXPrplOgO9sw_14_2">923,571</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_nBzKbRsmBkuJ7QlgwyUinQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_71CGxdM3c0SSgqRP-e9Zzw_14_5">3.41</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_K4xRyIwJ9UuhdosvSbDM9Q" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" id="Tc_h-CAjphi50C7W-QDhXR0Nw_14_7"><span style="font-size:10pt;"> 8.76</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_nBzKbRsmBkuJ7QlgwyUinQ" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" scale="0" id="Tc_fNpvRYggFke-bWDrYTiOvQ_14_10">4,786,252</ix:nonFraction></p></td></tr></table></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">A total of <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" scale="0" id="Narr_5nWDFS1mwUaV12jxKabFwg">268,500</ix:nonFraction> options were granted during the year ended December 31, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">During the year ended December 31, 2024, a total of <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Narr_d46wLxMJokaVaiTevS86rQ">2,506,232</ix:nonFraction> options were exercised at an average exercise price of $<ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" id="Narr_E9Rkkk5pxU2PtFWcmlGm1A">2.66</ix:nonFraction>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Restricted Stock Awards</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">There were no outstanding awards of restricted stock under the 2013 Plan or the 2021 Plan (collectively, the &#8220;Equity Plans&#8221;) during each of the years ended December 31, 2024 and 2023.</p></ix:continuation></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-30</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="Tc_f-u9smedqEeBMJoTfTQotQ_1_4"></a><a id="Tc_BFu3bob4EkudvFNwYS_goA_2_2"></a><a id="Tc_ijbbM2iqL0uTJtM20NUyBA_2_4"></a><a id="Tc_UJgXWGR-1UWF9xE41HCurg_3_2"></a><a id="Tc_DdJZnwSNwEW-WCVVZDVwFA_3_4"></a><a id="Tc_gOriR74DI0-QTFxlkwYhWg_4_2"></a><a id="Tc_iLVM7APkokevOtpJhuIGSA_4_4"></a><a id="Tc__DFduoe6C0muAJ_6GStGCw_6_0"></a><a id="Tc_kBOIzyeZDk26QrffmKc7qw_6_4"></a><a id="Tc_IDyCS1awqUCm97l9_zVqFA_7_0"></a><a id="Tc_GyXiTBrlgECzsF_kCQ9U7g_8_0"></a><a id="Tc_8DWX6YHFFkaSDECbx8K1zQ_9_0"></a><a id="Tc_o4iaGmrFQ0uw0BmKTN5Fdw_10_0"></a><a id="Tc_stK3vvRIOkKkUF3o4CE_6A_10_4"></a><a id="Tc_VKkKWEQ6Rkq_tyBIkxzdBg_1_4"></a><a id="Tc_Q_qRxyDE40awLxUVDCxiJw_2_2"></a><a id="Tc_0GJN-GRdzk6-f87Q9jFjsA_2_4"></a><a id="Tc_9oPkKTaHEUCbt1iBKCpiJQ_3_2"></a><a id="Tc_4JxeZlDeLECBfL0gxne5pw_3_4"></a><a id="Tc_waDT4v4nik-NubOF6nPRvA_4_2"></a><a id="Tc_HcoGT00iy0WDmlSZbaKZ6g_4_4"></a><a id="Tc_hIGM0QhQL0eRMGiO4QaeFA_6_0"></a><a id="Tc_zvMQWtvJ3UaZDY0m8uxfDQ_6_4"></a><a id="Tc_aZrOSTSd3UyflY4x__oWgA_7_0"></a><a id="Tc_DNQYcyToB0y3_BCPO5yaWQ_8_0"></a><a id="Tc_a8aLjuv9lkexr07nBhpeVg_8_2"></a><a id="Tc_uygnGCO98UituWHtkom2Eg_8_5"></a><a id="Tc_9HZX_V1lAkKAhz6xPSdagw_9_0"></a><a id="Tc_g4zYumvqDEqvDQuuEj9uQA_9_2"></a><a id="Tc_2kFAbvu-bk-PVeEUKj4vzQ_9_5"></a><a id="Tc_4L7spiozCE6qLdh-BiCzhQ_10_0"></a><a id="Tc_Dtrn1Ps4KEmWiWgWJw9e3w_10_4"></a><ix:continuation id="Tb_q-gYr41pGE-sct_UWtiNtA_cont3"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Restricted Stock Units</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Restricted stock unit activity under the Equity Plans during each of the years ended December 31, 2024 and 2023 are presented below:</p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_8DuPb6w0zU6DLbsVO6seHA" name="us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" id="Group_bEyAjdBL506EzRAc8LOCAg" continuedAt="Group_bEyAjdBL506EzRAc8LOCAg_2" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted&#160;Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant&#160;Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at January 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_fk5-2GIc_E6yEF_SV2noWQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" id="Tc_pr2KRtjIb0CyV75-w2O1wA_6_2">749,756</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_fk5-2GIc_E6yEF_SV2noWQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_oLlwNKBfhUuv6y1pCdDONQ_6_5">5.77</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_r28vrVunzE6Y7Pr8d98ApQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Tc_p7NwFJJskEq2W8Qhtxz06w_7_2">549,079</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_r28vrVunzE6Y7Pr8d98ApQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_bX9THEFEMESxUNbTvyKmCQ_7_5">40.61</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_r28vrVunzE6Y7Pr8d98ApQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" scale="0" id="Tc_eKs1yrqwSUuPa9LiU9Yx4w_8_2">48,761</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_r28vrVunzE6Y7Pr8d98ApQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_KLQ9W-CP5EmpWuzMoL40wA_8_5">8.42</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_r28vrVunzE6Y7Pr8d98ApQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" scale="0" id="Tc_tL76plwNEUSj3ppWeP4IWQ_9_2">995</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_r28vrVunzE6Y7Pr8d98ApQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" id="Tc_RDPUthmqnkek7AvDJPRJtw_9_5">8.29</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at December 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_FjBKu8s8aEehcxym0F6GhA" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" id="Tc_uUeUEQcvkk6ciZcca3EnsQ_10_2">1,249,079</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_FjBKu8s8aEehcxym0F6GhA" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_06Qy81S8REeS2VoLQXplSA_10_5">20.98</ix:nonFraction></p></td></tr></table></ix:nonNumeric><ix:continuation id="Group_bEyAjdBL506EzRAc8LOCAg_2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant&#160;Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Units</b></p></td><td style="vertical-align:middle;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at January 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_NGDGuB25Dk-L2onuGDgqzQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" id="Tc_9Q6l9h2qD0mGG2N-un8YZg_6_2">700,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_NGDGuB25Dk-L2onuGDgqzQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_2aww9B-c70OrzrOnGIyQFw_6_5">5.59</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_Nxv9DKiUokmPp5RwTNkLPg" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Tc_Aqj33QGXE0GoZmia1fDBlQ_7_2">49,756</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_Nxv9DKiUokmPp5RwTNkLPg" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_zPGmxjx3CU20vWeOble9LQ_7_5">8.29</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_fk5-2GIc_E6yEF_SV2noWQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" id="Tc_v82RulcDykehsfLc-EGPLQ_10_2">749,756</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w" contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_fk5-2GIc_E6yEF_SV2noWQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_3yNsAovehUaQus2QR9FgWA_10_5">5.77</ix:nonFraction></p></td></tr></table></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">There were a total of <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2024_To_12_31_2024_srt_TitleOfIndividualAxis_inod_NonEmployeeMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_CKBmSODh0Uq2YriEHjstFA" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_VKyRV9yrPUGzi-7ScHnb5g">34,246</ix:nonFraction> <span style="-sec-ix-hidden:Hidden_TKcAPII4akSwiA0-ioPAUg;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">restricted</span></span> stock units granted to non-employees and non-employee directors during the year ended December 31, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2024, there were <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_ZNzogdH5jE2de-mLf-S8fA" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Narr_cicMPZ-4IEWT-pIXA2uwxQ">200,000</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_jErzQdPJKUKm2h19Lv8jNQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Narr_2hsswihpqEOpcVgqIUGUgg">1,049,079</ix:nonFraction> outstanding restricted stock unit awards under the 2013 Plan and 2021 Plan, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The stock-based compensation expense is recognized on a straight-line basis over a period of 36 months. The fair value of restricted stock units is based on the closing price of the stock at the time of the grant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The compensation cost related to non-vested stock options not yet recognized as of December 31, 2024 totaled approximately $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_tBdaD7jObESRaJN-G0P9AQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" scale="6" id="Narr_JS1IAplE4k-gBXtyMX__dw">9.1</ix:nonFraction> million. The weighted-average period over which these costs will be recognized is <ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_fWTSucoVEUe4yw6Qr0B42A" format="ixt-sec:durwordsen" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="Narr_SlLRstymtUSwkwHPyr5s6Q">34 months</ix:nonNumeric>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The compensation cost related to non-vested restricted stock units not yet recognized as of December 31, 2024 totaled approximately $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_dPb8d2je8km8OBvQeNYlZg" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" scale="6" id="Narr_OBGwUOAn-kimKLCxdRO7Xw">21.9</ix:nonFraction> million. The weighted-average period over which these costs will be recognized is <ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_8DuPb6w0zU6DLbsVO6seHA" format="ixt-sec:durwordsen" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="Narr_90QnOtAATEeGQrFds6erYQ">16 months</ix:nonNumeric>.</p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-31</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="inod:RedemptionOfNonControllingInterestTextBlock" id="Tb_EX2rS2Hm9EaTa_07hQFffg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">12.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Redemption of non-controlling interest</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><span style="font-weight:normal;">On December 31, 2024, the Company redeemed the </span><span style="font-weight:normal;"><ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="3" format="ixt:num-dot-decimal" name="inod:NoncontrollingInterestRedemptionPercentageByParent" scale="-2" id="Narr_Sr0QKUuyEECNIo3h8AgZ7g">6.1</ix:nonFraction>%</span><span style="font-weight:normal;"> non-controlling interest in Innodata DocGenix, LLC; Innodata DocGenix, LLC, is now a wholly owned subsidiary. The Company accounted for the transaction in accordance with ASC Topic 810, &#8220;Consolidation&#8221;, which discusses the proper accounting treatment of the carrying value for the non-controlling interest. Under the standard, any change in ownership that does not result in a loss of control is to be accounted for as an equity transaction. To comply with the standard, the Company reclassified the remaining carrying value of the Non-controlling interest attributed to the DocGenix subsidiary amounting to </span><span style="font-weight:normal;">$<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_BalanceSheetLocationAxis_us-gaap_AdditionalPaidInCapitalMember_oCNVS04TC0Cq-wcGW_H4gw" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount" scale="6" id="Narr_nsnN91lW90um9CyiIhLzOA">0.6</ix:nonFraction></span><span style="font-weight:normal;"> million from Non-controlling interest to Additional paid-in capital in the Consolidated Balance Sheets as of December 31, 2024. </span></p></ix:nonNumeric><a id="_bf5e3dd9_8ec1_4cda_955e_70825be7a99e"></a><a id="Tc_zQZYeDJHOU-_0yDqv9Wd_w_1_8"></a><a id="Tc_HfnTbv4MG0GKO4_cHk-kBA_1_11"></a><a id="Tc_wU7G-31gMUK4dvNkDjpolg_2_2"></a><a id="Tc_RKeBWs9nnE6nWnNPD7ASow_2_5"></a><a id="Tc_eFwTsgnL0UaLtuy9Z9lkDw_2_8"></a><a id="Tc_xYSVKD6Bg0OdJ6AAVs6plw_2_11"></a><a id="Tc_MfPAhBdlnkSzsUioUwfipQ_3_2"></a><a id="Tc_JRxkAKlA5Eagup_LeWdI3w_3_5"></a><a id="Tc_cq75Q-58QkWUJpjSfsG_5w_3_8"></a><a id="Tc_-UlaEgSxT06OJRIfAJtNBg_3_11"></a><a id="Tc_53YAxjqX-0yIlyvwDYcEoA_5_0"></a><a id="Tc_a5xqNTogiECR2X4UqS1cjg_5_2"></a><a id="Tc_-mVLrHoww0CQrf5f9pQM-g_5_5"></a><a id="Tc_HNr8lbvXDk-chiwpesYg3Q_5_8"></a><a id="Tc_GDHu0CaGD0up-DQUUrqVfg_5_11"></a><a id="Tc_LmMAyoE680arplbFrbkz1g_6_0"></a><a id="Tc_ulQhDZlQ8ES87CBuHF5yYg_7_0"></a><a id="Tc_m5vCNiouuEy_iQvKKPHVkg_8_0"></a><a id="Tc_TWGot-dgGU-EYTidjmzHZA_8_9"></a><a id="Tc_R9pA1FtoM0i89_2q6ql5vg_9_0"></a><a id="Tc_7FMqEkWIjUG7R_2u80d0tg_9_2"></a><a id="Tc_yzlMQXQHQkmVEcSIEoITbQ_9_5"></a><a id="Tc_nD7Yw7kMKUKOdSzZky2c2g_9_8"></a><a id="Tc_LBZhllSr50CWtlzUN-c91A_9_11"></a><a id="_c9ad8121_330a_4aec_b599_5efb0c1de866"></a><a id="Tc_FWXK5HrE30KGNU6tihhtfw_1_8"></a><a id="Tc_Qo7fdK-9GkmDChDZOPJpeg_1_11"></a><a id="Tc_2XZ43RDpBkGM2H1jP7Ukqw_2_2"></a><a id="Tc_DIG4rNE7xk6R4iC9XqsG-w_2_5"></a><a id="Tc_qL-XkOnJ4UqFS-I35-Rc7w_2_8"></a><a id="Tc_9-nT1ZXElUyrNM4_FdtIzw_2_11"></a><a id="Tc_5hMZaAcndUaRcDYNMtaseg_3_2"></a><a id="Tc_rHLJb36qm0K01lGr-1xyYQ_3_5"></a><a id="Tc_WhstvpMXX0W7BhMZ3sn-mQ_3_8"></a><a id="Tc_mjlRjVwWaEq-6hA0GAXlQQ_3_11"></a><a id="Tc_UsQps3F4w0OviFQtXB2suQ_5_0"></a><a id="Tc_kAFUbQQK70--0ZH-OfvJTg_5_2"></a><a id="Tc_WRlYpNiBK0mY62O7K_XTSQ_5_5"></a><a id="Tc_9aUvsE7OJEejvWZtuxIg-w_5_8"></a><a id="Tc_s48OxPZ0uUaZldAjgHBCZQ_5_11"></a><a id="Tc_8EJX8tTvo0iTjoQYbZBVDA_6_0"></a><a id="Tc_8rO-7Ej5SEqqkzmFEjI0iQ_7_0"></a><a id="Tc_IOYFcZdo9Eyx31RAAD2xTA_8_0"></a><a id="Tc_E2-VgQ641EK3pih_R4L2Mg_8_9"></a><a id="Tc_VaV3uaQaBEWP1_OQpfCp6w_9_0"></a><a id="Tc_FFPPc7SWb0iZERw7FXLu4Q_9_2"></a><a id="Tc_UUYfLbUOUEGCgphfiIHdSw_9_5"></a><a id="Tc_Gm1K--6dk0KpilvIqnXUKA_9_8"></a><a id="Tc_3YXI18O4xkaXuRAgrwso5g_9_11"></a><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ComprehensiveIncomeNoteTextBlock" id="Tb_Jo3oTSoIf06cj9grXlUDcw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">13.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Comprehensive loss</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Accumulated other comprehensive loss, as reflected in the consolidated balance sheets, consists of pension liability adjustments, net of taxes, foreign currency translation adjustment and changes in fair value of derivatives, net of taxes. <ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" id="Group_HcF0Em_ioUK6Gz7H5BCLeg" continuedAt="Group_HcF0Em_ioUK6Gz7H5BCLeg_2" escape="true">The components of accumulated other comprehensive loss as of December 31, 2024 and 2023, and reclassifications out of accumulated other comprehensive loss for the&#160;years then ended, are presented below (in thousands):</ix:nonNumeric></p><ix:continuation id="Group_HcF0Em_ioUK6Gz7H5BCLeg_2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated&#160;Other</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Pension&#160;Liability</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Comprehensive</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Derivatives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Loss</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at January 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_nJVPxfz-WUSmy3NCOT2APA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_WYiM9iyXHUiqd2k9oXj-jQ_5_3">412</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_CVac1-kyokSMXmD22IhQNQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_l8aXYoA2CE2EiKePmPk8Tw_5_6">41</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_PV2elI63NEyHDoTFk3r2pA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_fmgvj4WP1UuD_dFZl0wv5Q_5_9">1,250</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_V7v7ubfu6k6Xs9sp3gx4cg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_yktU4x-IUUK8vQcLKJLzzA_5_12">1,621</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Other comprehensive income (loss) before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_BGgJQnoTW02boQd9SECQyg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" scale="3" id="Tc_CEi4QxJe80SFRL3J4MuwWg_6_3">172</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_H9NJJEgo4kWJJbKAl2z-Qg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_zcNBnpueTUmXJnHRTRaqKw_6_6">494</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_pzfnAvg4pUGclFLXGW9jnw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_o1FRIf4BbUuts4eYMkQ0uA_6_9">592</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_jD5VrhScy06RSiAu49DIAA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_nw5i_PkWjUmhF3ct5uslvA_6_12">914</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total other comprehensive loss before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_BGgJQnoTW02boQd9SECQyg" decimals="-3" format="ixt:num-dot-decimal" name="inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_AeEtErjD4USTinRVlth07g_7_3">240</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_H9NJJEgo4kWJJbKAl2z-Qg" decimals="-3" format="ixt:num-dot-decimal" name="inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_hMUV0u58CE2Hf5bH-FmjSw_7_6">453</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_pzfnAvg4pUGclFLXGW9jnw" decimals="-3" format="ixt:num-dot-decimal" name="inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_PZo6earvuEi__7K41DGyxA_7_9">1,842</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_jD5VrhScy06RSiAu49DIAA" decimals="-3" format="ixt:num-dot-decimal" name="inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_LC9qRixPS065-Txk70gsgQ_7_12">2,535</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net amount reclassified to earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_BGgJQnoTW02boQd9SECQyg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" scale="3" id="Tc_P2GDuFnpTUOK1syPjtYh6g_8_3">7</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_H9NJJEgo4kWJJbKAl2z-Qg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" scale="3" id="Tc_EDFX4fIIUkeLL4-0sH1cEQ_8_6">58</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_jD5VrhScy06RSiAu49DIAA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" scale="3" id="Tc_L8mL5eErJEW99SC8POJqQw_8_12">65</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at December 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_WeGzA3hrkEOYbysOV2UppA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_9Qocci-39UCuvkLCTJ1-bw_9_3">233</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_5w_H5iQOwE6adIyuRS2n_Q" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_oIGZF7Kyvkm66RP1EpCgYg_9_6">395</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_nvIIRtKsT0-ZjLXT7vplNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_3eWtWFeLFkCIpYX-aPCViQ_9_9">1,842</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_CSRCPJe9v0OyfUwMc3gLkg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_Xfg8BhSs20qI1xiF4JTbVg_9_12">2,470</ix:nonFraction>)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated&#160;Other</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Pension&#160;Liability</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Comprehensive</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Derivatives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Loss</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at January 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_OlEFfdk_ZU-DlbK6CaR86Q" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_03pKNhvuYEK8i2gY6AwcFg_5_3">86</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_HTS8kjauZkGXuoVV9EP1Xg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_0DQSFIpKrU6c9sLh_SPTlg_5_6">365</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_zCf_LNCZRUyXO1jdgC_P8g" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_g7s_vvdgRki4cMRdhwEidg_5_9">1,657</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_ee1CIzcen0m5NhH2RNN34Q" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_l8j2xshPREWLoSrxliY4zQ_5_12">2,108</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Other comprehensive income (loss) before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_Aqd5yOzLDk6zkCnBcRAbAA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_Qg6RKGQ7BE6kVS3vbDpmpA_6_3">322</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_awj5OpJa4U-8btL7kJn3Vg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" scale="3" id="Tc_WOczuqtj_0itoMmOKLl16w_6_6">185</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_tqUhE8BohU66zRGcrSUCUA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" scale="3" id="Tc_RgVQqPN-Ak6efMvZOmSmqQ_6_9">407</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_7EVSMZ6DwUa94xKEQUjYlg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" scale="3" id="Tc_2YdMgp7Ec0qr0HYaqIzwFA_6_12">270</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total other comprehensive loss before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_Aqd5yOzLDk6zkCnBcRAbAA" decimals="-3" format="ixt:num-dot-decimal" name="inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_40uzflSiok2m10LK0aMtbQ_7_3">408</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_awj5OpJa4U-8btL7kJn3Vg" decimals="-3" format="ixt:num-dot-decimal" name="inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_ydTqx0IDeEW6AheW8VBHkA_7_6">180</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_tqUhE8BohU66zRGcrSUCUA" decimals="-3" format="ixt:num-dot-decimal" name="inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_NlrGan4wCkOLwH27vPudZQ_7_9">1,250</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_7EVSMZ6DwUa94xKEQUjYlg" decimals="-3" format="ixt:num-dot-decimal" name="inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_2vEhycsWQEO4XL3yhQ8iCQ_7_12">1,838</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net amount reclassified to earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_Aqd5yOzLDk6zkCnBcRAbAA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" sign="-" scale="3" id="Tc_ITu8vfDnfE-0YWWALues_Q_8_3">4</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_awj5OpJa4U-8btL7kJn3Vg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" scale="3" id="Tc_uD4rEwdYKEOqEqaK_e3FWw_8_6">221</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_7EVSMZ6DwUa94xKEQUjYlg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" scale="3" id="Tc_XZnMxxwcXE2A-kf0YdBmRw_8_12">217</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_nJVPxfz-WUSmy3NCOT2APA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_8yw6QthKXE6Cr4bO77jbQQ_9_3">412</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_CVac1-kyokSMXmD22IhQNQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_w81CLuQG2ECvto3VPwMhRQ_9_6">41</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_PV2elI63NEyHDoTFk3r2pA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_PCJi4z6Nyk-mPDiE0LUTNw_9_9">1,250</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_V7v7ubfu6k6Xs9sp3gx4cg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_pSv1xe3LbkWkaHJ0LSeOjA_9_12">1,621</ix:nonFraction>)</p></td></tr></table></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Taxes related to each component of other comprehensive loss were not material for the fiscal years presented and therefore not disclosed separately.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">All reclassifications out of accumulated other comprehensive loss had an impact on direct operating costs in the consolidated statements of operations and comprehensive loss.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:SegmentReportingDisclosureTextBlock" id="Tb_SnMgrw_yfUqcFlgD2gXmhg" continuedAt="Tb_SnMgrw_yfUqcFlgD2gXmhg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">14.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Segment reporting and concentrations</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s operations are classified in <ix:nonFraction unitRef="Unit_Standard_segment_vYtCzY4wxUGW3JZsiWLCYw" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfReportableSegments" scale="0" id="Narr_CEe2yGLz4kuoeFZY8HqT6g">three</ix:nonFraction> reporting segments: Digital Data Solutions (DDS), Synodex and Agility.</p></ix:nonNumeric></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-32</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_7f9454f1_fd99_427b_92f1_a4cce6a5a231"></a><a id="Tc_1GuRLKOlwUGibw8mB2yq0w_1_2"></a><a id="Tc_7ZSSifqFI0KIHO-UFdHfmA_2_2"></a><a id="Tc_IlWpc_62m0CKcSCItaQ7mw_2_5"></a><a id="Tc_6JSfzpFmMk60IGT2mflvcw_3_0"></a><a id="Tc_7mih92OUDEKywLkP_eiUYQ_4_0"></a><a id="Tc_GuibTheEdE2I5mvWU-B3hA_4_2"></a><a id="Tc_GVGTFShBQEuJjR6TplXNUg_4_5"></a><a id="Tc_PiQ5GtRp0kScnUDT4zvlmw_5_0"></a><a id="Tc_M_D42JaAJkaF6lQV0qJPkQ_6_0"></a><a id="Tc_05RcLSLE7ESpVt_2HgwbGw_7_0"></a><a id="Tc_-8DSDDgqWU6SyPzNPU9oRA_7_2"></a><a id="Tc_eFzy7XwRA0O2yyZYMEkhmA_7_5"></a><ix:continuation id="Tb_SnMgrw_yfUqcFlgD2gXmhg_cont1" continuedAt="Tb_SnMgrw_yfUqcFlgD2gXmhg_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The DDS segment provides AI data preparation services, collecting or creating training data, annotating training data, and training AI algorithms for its customers, and AI model deployment and integration. The DDS segment also provides a range of data engineering support services including data transformation, data curation, data hygiene, data consolidation, data extraction, data compliance, and master data management.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Synodex segment provides an industry platform that transforms medical records into useable digital data organized in accordance with its proprietary data models or customer data models.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Agility segment provides an industry platform that provides marketing communications and public relations professionals with the ability to target and distribute content to journalists and social media influencers world-wide and to monitor and analyze global news channels (print, web, radio and TV) and social media channels.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">A significant portion of the Company&#8217;s revenues is generated from its locations in the Philippines, India, Sri Lanka, Canada, Germany, Israel, United States and the United Kingdom. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s chief operating decision maker (CODM) is the senior executive committee that includes the chief executive officer, chief operating officer, and the chief financial officer (interim).</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The U.S. GAAP measures used by the Company&#8217;s CODM to evaluate segment performance and allocate resources&#8212;such as employees, property, and financial or capital resources during the annual budgeting and forecasting process, are Revenues, Gross Profit and Income before provision for income taxes. Performance results are monitored, reviewed, and measured monthly and quarterly by comparing budget and forecast to actual results for profit measures, assessing returns on investment, compensation decisions and changing strategies, if required.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The accounting policies used by the DDS, Synodex and Agility segments are the same as those described in the summary of significant accounting policies.</p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" id="Tb_GelHdk_3LUGD6a18ZqnFTg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;">The measure of segment assets is reported on the balance sheet as total consolidated assets shown in the table below (in thousands): </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:34.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-family:'Aptos Narrow';font-weight:bold;">&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">DDS</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_ZkcQQYagPUyHD8wdcfG0jQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" id="Tc_zocz7dVtqkm8-6ZpANwcAQ_4_3">87,165</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_ggxGbhWXtkmqZAz4OWrkPQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" id="Tc_RGRvJeSJk0at8UTXSbrKwg_4_6">37,232</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Synodex</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_SSIfYE19WUOlIjea1mhcDg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" id="Tc_dW7BAzRmMUaaB1xFNe0New_5_3">4,983</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_sgEdfoGjkkyqNaNicssoTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" id="Tc_tTWPw3ntRUyUcN0hen0Q-A_5_6">3,379</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Agility <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_MLNwS_aTIUuTdBN3FUPH9g" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" id="Tc_nUuA-QN_g0md4m4wQnE6pA_6_3">21,301</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_ZpY5x40RPUa6rvRcgQwxBg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" id="Tc_ys8cR3pD0EWxaRhwIJhkFA_6_6">18,820</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total Consolidated</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" id="Tc_Tdqfb4BGEkuilgI1Ug6Y7Q_7_3">113,449</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" id="Tc_bxn5E54a10OkI5wMfsJygw_7_6">59,431</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup><span style="display:inline-block;width:12.17pt;"></span>Agility assets include goodwill of $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_MLNwS_aTIUuTdBN3FUPH9g" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="6" id="Narr_VfCvTGWfBk6q_u3FPzLvLA">2.0</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_ZpY5x40RPUa6rvRcgQwxBg" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="6" id="Narr_BcXoNxgMDkmn8CMUZfQwxg">2.1</ix:nonFraction> million as of December 31, 2024 and 2023, respectively</p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="display:inline-block;width:12.17pt;"></span>Segment assets consist of cash, receivables, prepaid and other current assets, property and equipment, and intangibles.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-33</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_7ee9bdae_140f_4665_a941_ded5931d4605"></a><a id="Tc_OdeauzHDk0O6m36Fs4RpGg_1_2"></a><a id="Tc_Z6IuCjTtHUCfUuwoGuw_4g_2_2"></a><a id="Tc_O01kbnFGvkuS7Oqxx_sV2g_2_5"></a><a id="Tc_XTY23v9Wc0SgFMZrUYoAcg_2_8"></a><a id="Tc_lzU2lke05USacKDep81nPA_2_11"></a><a id="Tc_kgJWca03W0eHFHpGqNJifg_3_0"></a><a id="Tc_XhbNFqpI8Uy6VWVYPM2Dbg_3_2"></a><a id="Tc_OT4LaMUc60OpDo0AwScoDg_3_5"></a><a id="Tc_ArtJh_2tx0GXUhUk9aNnvQ_3_8"></a><a id="Tc_nnZmsrytZk6FTWz7YoO_rA_3_11"></a><a id="Tc_puACEv0yF0GAzzbwO7fEvA_4_0"></a><a id="Tc_72eXFxw57Ue-CGv0hmhbdg_5_0"></a><a id="Tc_ue4HMRdnOUaBtLFAszm2EA_6_0"></a><a id="Tc_fnhZnGux-kSWmx9c-tFXVg_7_0"></a><a id="Tc_cc5LYgf9zECO_TLlEyd4Hw_8_0"></a><a id="Tc_YmlrAfe9fkeHCqBnvr_CUg_8_6"></a><a id="Tc_KmurUZZ6OEmHPVYb0gv3Ow_9_0"></a><a id="Tc_vHR2C2atl02h9-J1jwuQnA_9_2"></a><a id="Tc_BfN4iRdDAUShqXo8YTO6kg_9_5"></a><a id="Tc_FI-2aVqr7EOW_Yrn965Hxg_9_8"></a><a id="Tc_gV1BkKJdMkyLMZBOt0rx4w_9_11"></a><a id="_5c313647_16c2_4c1b_b882_c9cadbeea4cc"></a><a id="Tc_8NJS0ncs5UatU9dMALeLMg_1_2"></a><a id="Tc_Of7R_Cf0AEa5eXx7jSibww_2_2"></a><a id="Tc_-4Gc_O3KrUacAv1aHOLXsA_2_5"></a><a id="Tc_2TVmRD4qj0uReiQma9v2Cw_2_8"></a><a id="Tc_zJYVsiG3iUyMtuLnT6dmzQ_2_11"></a><a id="Tc_jnrbSR8RIUa9mSXtpzw8Lw_3_0"></a><a id="Tc_uRy-hV2M8UqyICj8s6GUAw_3_2"></a><a id="Tc_WhyDSqJtBEOE13uZmAjtCA_3_5"></a><a id="Tc_243sKyIxQkCvEtfnbhmR2w_3_8"></a><a id="Tc_M9ttYCwOxkKumvUzmaTU-A_3_11"></a><a id="Tc_2YQeTPAJu0-tyxOCgvknmg_4_0"></a><a id="Tc_xV2m1wFNtUSWNRFr3F0ekQ_5_0"></a><a id="Tc_ABA2TDLpJUKdUP1rDY59yg_6_0"></a><a id="Tc_60s7ydOCmUm1PLyyI7HBEQ_7_0"></a><a id="Tc_osoPNn9z4UOlmvH376fFKw_8_0"></a><a id="Tc_tM8bNxcbvUamWHjNGJ0JQg_8_6"></a><a id="Tc_q0p6Au94c0SS5xRs-ZIm3g_9_0"></a><a id="Tc_HAYSg9JtJE-KQTLSrZqEAw_9_2"></a><a id="Tc_jInYr_MtkEKY5gfd2HY__A_9_5"></a><a id="Tc_d0R9zxY3JEq_3a3hYEgICg_9_8"></a><a id="Tc_lipODm_te0iQFV1q0NpR-A_9_11"></a><a id="_2e44537a_6904_4aba_bc19_8f2a376f94d9"></a><a id="Tc_uPiUkNw3aE6S82SNlUoXVg_1_2"></a><a id="Tc_ezKNgvpVskuJ_xOm0hkkKw_2_2"></a><a id="Tc_ZdXBbOKHSUeGinUIbuzW-A_2_5"></a><a id="Tc_-K26MQPVjE-aH-NMx4EqqA_3_0"></a><a id="Tc_jmEsN-_GzU2ZPT-UtMFITw_3_2"></a><a id="Tc_VoLtCSTjF0CDO0oaawNOrQ_3_5"></a><a id="Tc_C1c-TPYbPkSQrkinUdN1AQ_4_0"></a><a id="Tc_KyLQCxuJ8kGUuYe_VIq-6Q_5_0"></a><a id="Tc_pFtaAgDVb0ywN-zX70-TWQ_6_0"></a><a id="Tc_FtJyrQpTk0OYM0c1YlEplQ_7_0"></a><a id="Tc_MnBJzGS1EUq64zj1uqlP2w_8_0"></a><a id="Tc_YEj-BTSP_EmVYY9DMy-8bQ_9_0"></a><a id="Tc_b6OgDQjFEUOJmeClFwtgfg_10_0"></a><a id="Tc_2q6SSTQAzE2RFYYhu6FvzA_11_0"></a><a id="Tc_W1DmZG8Rg0unqQf8KJ30lA_11_6"></a><a id="Tc_Zx7IghdTjkWwVjWBQmCyAg_12_0"></a><a id="Tc_mQShnKd4YEqmGpaXzQJJng_13_0"></a><a id="Tc_AEBsmQfKBECyE5vdM0M9ww_13_2"></a><a id="Tc_yNaBIO8BH0SkjwaUSCWkXg_13_5"></a><ix:continuation id="Tb_SnMgrw_yfUqcFlgD2gXmhg_cont2" continuedAt="Tb_SnMgrw_yfUqcFlgD2gXmhg_cont3"><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock" id="Tb_2ceeW01OFUW4W47EFwSb2Q" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;">The table below shows segment information for other significant income statement items (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">DDS</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Synodex</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Agility</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_O7yfbrfxzUSnxuSPdkrSog" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_fRz-7yEcnkqajzKzkRR5gg_3_3">141,098</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_wnRAMXxsP0KQ2z8PfMmLkQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_30AU1ESt-0Ox54rp3zpp0Q_3_6">7,864</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_fJBd0u5TNUKpMn8Sb4Z7cQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_CH0-heKNjkahxg9lODcuWA_3_9">21,499</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_AdvH83gA5ku5KXHo-vF9qg_3_12">170,461</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#1f1f1f;">Direct operating costs </span><sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup><span style="color:#1f1f1f;"> </span><sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_O7yfbrfxzUSnxuSPdkrSog" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DirectOperatingCosts" scale="3" id="Tc_Uo84yJ9WCE2bU2gnijQJoQ_4_3">88,186</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_wnRAMXxsP0KQ2z8PfMmLkQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DirectOperatingCosts" scale="3" id="Tc_QhdimfVDfEO8sOIHmf_f2A_4_6">5,763</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_fJBd0u5TNUKpMn8Sb4Z7cQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DirectOperatingCosts" scale="3" id="Tc_R_qVQ8A12kKmvzAz0UM_4Q_4_9">9,438</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DirectOperatingCosts" scale="3" id="Tc_hen5GfG0IUysZFcJEvLmMw_4_12">103,387</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#1f1f1f;">Gross profit</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_O7yfbrfxzUSnxuSPdkrSog" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" id="Tc_HJhDYUaUfkaxeP82_bL8Iw_5_3">52,912</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_wnRAMXxsP0KQ2z8PfMmLkQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" id="Tc_EkbSl9XYc0WHuLuK-nkbVg_5_6">2,101</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_fJBd0u5TNUKpMn8Sb4Z7cQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" id="Tc_zco773aujESl-0WYEXkP1Q_5_9">12,061</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" id="Tc_NoMLzfxDA0q9FcKvJ6XoDQ_5_12">67,074</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#1f1f1f;">Selling and administrative expenses </span><sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="color:#1f1f1f;"> </span><sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(4)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_O7yfbrfxzUSnxuSPdkrSog" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_huBDY8H9k0awSZ9IKVGD9g_6_3">31,685</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_wnRAMXxsP0KQ2z8PfMmLkQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_Sk3tS9Bj00Gvwll2fkt1PA_6_6">194</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_fJBd0u5TNUKpMn8Sb4Z7cQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_zdS8YrPEMUOdIvVAm_jkhA_6_9">10,859</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_5o_2hSgQY02p7e5n1_MZYg_6_12">42,738</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#1f1f1f;">Segment operating income</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_O7yfbrfxzUSnxuSPdkrSog" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_lM2NrLO3TUqifUv3RqGwcA_7_3">21,227</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_wnRAMXxsP0KQ2z8PfMmLkQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_KGSgln5bxkW69ov_5QdIyg_7_6">1,907</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_fJBd0u5TNUKpMn8Sb4Z7cQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_eH_MTJN26EyZQ8xOSd289g_7_9">1,202</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_4rRAngJ-AUaDcXBml2BY7Q_7_12">24,336</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Interest expense (income), net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_O7yfbrfxzUSnxuSPdkrSog" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InterestIncomeExpenseNonoperatingNet" scale="3" id="Tc_jO8IvyEtMEKqac25kcZwcQ_8_3">153</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_fJBd0u5TNUKpMn8Sb4Z7cQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InterestIncomeExpenseNonoperatingNet" sign="-" scale="3" id="Tc_IOqf2_j_pUC2uzQYNJDY1A_8_9">4</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InterestIncomeExpenseNonoperatingNet" scale="3" id="Tc_e4-IuFRowUeYvZaGWaBamQ_8_12">149</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Income before provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_O7yfbrfxzUSnxuSPdkrSog" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_V3IPEY7IIEqbGiSr9hUuVA_9_3">21,380</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_wnRAMXxsP0KQ2z8PfMmLkQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_k_SIUhK3wkyN_34ZJM3pBg_9_6">1,907</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_fJBd0u5TNUKpMn8Sb4Z7cQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_AFAoNyWS5UGt6c_HTXUrZw_9_9">1,198</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_UShre_zYt0CTrd4Ey4kELQ_9_12">24,485</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">DDS</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Synodex</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Agility</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_5skyboIVE0W-gVY8_RY_jQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_NaZj18NmMUm6ZPJArhCKXQ_3_3">61,576</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_vg9O6mYhHk2rk-GwFGX3jA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_KaG3AU0qjk2kczu5NbA5WQ_3_6">7,511</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_4XqHiOkraEqYKlIciFylTA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_bW20d5bAwk6kpDj3Ceo_fg_3_9">17,688</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_NuzINbeMOkirtAyUTjvZCQ_3_12">86,775</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#1f1f1f;">Direct operating costs </span><sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1) (3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_5skyboIVE0W-gVY8_RY_jQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DirectOperatingCosts" scale="3" id="Tc_7kZ0Itxzg0uxYcIaSpNydQ_4_3">40,057</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_vg9O6mYhHk2rk-GwFGX3jA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DirectOperatingCosts" scale="3" id="Tc_-OtPHAU48UeWtg1BieGr2g_4_6">6,712</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_4XqHiOkraEqYKlIciFylTA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DirectOperatingCosts" scale="3" id="Tc_wsHdFkZKJ02x6slzMa-CFg_4_9">8,713</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DirectOperatingCosts" scale="3" id="Tc_LVjr7DAsZ0ilSqf5p3fukg_4_12">55,482</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#1f1f1f;">Gross profit</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_5skyboIVE0W-gVY8_RY_jQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" id="Tc_bQezPHyqw0yw6-qnf7GLAQ_5_3">21,519</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_vg9O6mYhHk2rk-GwFGX3jA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" id="Tc_gHlzwtPakkSEiQr2sH-78g_5_6">799</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_4XqHiOkraEqYKlIciFylTA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" id="Tc_VxdhRiPAy06JuAXm4YkcSw_5_9">8,975</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" id="Tc_Xw_V-61KP0CjfSwooZVX0g_5_12">31,293</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#1f1f1f;">Selling and administrative expenses </span><sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2) (4)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_5skyboIVE0W-gVY8_RY_jQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_Wmg1vE8zf06i-BcfO_vntg_6_3">20,085</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_vg9O6mYhHk2rk-GwFGX3jA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_jf11lFaMaE6BilmW5PJJIQ_6_6">580</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_4XqHiOkraEqYKlIciFylTA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_HAHIUhERE0u_7PPka_3jEg_6_9">10,310</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_9G9VrpgB802pMDWx59whDw_6_12">30,975</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#1f1f1f;">Segment operating income</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_5skyboIVE0W-gVY8_RY_jQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_kmnE6H1HB0-idLp2xA5Z0g_7_3">1,434</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_vg9O6mYhHk2rk-GwFGX3jA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_V9HiVFN8HUSENT67PIjg9Q_7_6">219</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_4XqHiOkraEqYKlIciFylTA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="3" id="Tc_BvB4G1SfO0i3oIG6y-AkPg_7_9">1,335</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_qaVm5d1qqkqkGDsJd73MlQ_7_12">318</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Interest expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_5skyboIVE0W-gVY8_RY_jQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InterestIncomeExpenseNonoperatingNet" sign="-" scale="3" id="Tc_wnhNNk4XE0eWhWWg6g5xbQ_8_3">174</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_4XqHiOkraEqYKlIciFylTA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InterestIncomeExpenseNonoperatingNet" sign="-" scale="3" id="Tc_qNghPMDkbk2jlDBvV__Icw_8_9">5</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InterestIncomeExpenseNonoperatingNet" sign="-" scale="3" id="Tc_TGaMTJBna0CMIUrDh4nO9g_8_12">179</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Income before provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_5skyboIVE0W-gVY8_RY_jQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_thxz4Rz9QkGVH-fI0kQSIQ_9_3">1,260</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_vg9O6mYhHk2rk-GwFGX3jA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_urE-uQoDHE2gW48EUsAnRg_9_6">219</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_4XqHiOkraEqYKlIciFylTA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_jqtqMrfRdEO87N1RI8Xizg_9_9">1,340</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_7AqjFubaWUmvWwsH-HznCQ_9_12">139</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><span style="font-size:8pt;">Direct operating costs consist of direct and indirect labor costs, occupancy costs, data center hosting fees, cloud services, content acquisition costs, depreciation and amortization, travel, telecommunications, computer services and supplies, realized (gain) loss on forward contracts, foreign currency revaluation (gain) loss, and other direct expenses that are incurred in providing services to our customers.</span></p></td></tr></table><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><span style="font-size:8pt;">Selling and administrative expenses consist of payroll and related costs including commissions, bonuses, and stock-based compensation; marketing, advertising, trade conferences and related expenses; new services research and related software development expenses, software subscriptions, professional and consultant fees, provision for credit losses and other administrative overhead expenses.</span></p></td></tr></table><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><span style="font-size:8pt;">Includes non-cash expenses which consist mainly of depreciation, amortization of capitalized software development costs and stock-based compensation expense.</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(4)</sup><span style="display:inline-block;width:12.17pt;"></span>Includes non-cash expenses which consist mainly of stock-based compensation expense.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" id="Tb_E0q1__s_40eq3jXbjMf0bQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Long-lived assets as of December 31, 2024 and 2023 by geographic region were comprised of (in thousands): </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:35.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_US_MYl3p3GHYUaoOcHGs6RTWA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_FyGKgF8vI0a7ufQiBk-RAA_3_3">10,182</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_US_t5m68aLw50-Pg1QhilfDlQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_ogVGmBEXKU-fUH7J45_zqQ_3_6">9,101</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign countries:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_CA_xGcix37yqEePc6LlzMTQOw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_aI_0Kxjo202aOPyO_Een-g_5_3">6,265</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_CA_LmRfp9wnrkKasCJLc-PzTg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_iCqS9Oq3VEqK8JbRN8OLtg_5_6">7,328</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_GB_O_LlwubZOkWtDW_HirHc5A" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_nMnUUXQF902yp69sS-PZ3g_6_3">806</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_GB_ng20ziJdRkyivXAriMbCdQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_WERHxeGYU0G0I2e_XulJHg_6_6">1,028</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Philippines</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_PH_uuM_lRFX2Emr8ODxUjRSkg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_4D6loBTIp0-BOAsWhvRwAQ_7_3">3,532</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_PH_RWnIrQOsa0mKa1nBvTgV_w" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_PRWWtP3BUEe_kdbf1wg5iA_7_6">3,484</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">India</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_IN_JUpwXiqcYUGcm1fOlBs-Yg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_Hhjxe-YrpUSBKpOPJAzcWw_8_3">2,251</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_IN_b2JzLjKf_0e_O0UN6Lq1JA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_gph8pXtbgEOpdu62CssoxA_8_6">1,791</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Sri Lanka</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_LK_4Fh76J9z60SdETIPB2ezrA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_NQ8LGeYf90quI521k-6FSw_9_3">587</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_LK_TFp11VS73kufhMq0wqkUNg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_BEAjDjon0Umwad4fEh3dcw_9_6">423</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Israel</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_stpr_IL_z1G9lc4gjEuqq1fuEGY8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_NTSh4GI_ZEOVNvzIGkq4dw_10_3">63</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_stpr_IL_yk7SngNHY0yjRCe9MxdM1g" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_BpgDE-qh_E2j4CE69zhBuA_10_6">13</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Germany</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_DE_NtGBHoCqW0KqXeCJYBCefw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_O8PSnPiTvUKkJtICvOkZ8w_11_3">4</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_inod_ForeignCountriesMember_ZzRFei96XEquYEbW4N8xIQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_sDdtE0qBMEWYWRnEku1Z4w_12_3">13,508</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_inod_ForeignCountriesMember_ZPPbAPeRNEyNY65VDxYiAA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_lZI1DRJA7EarhchYjoab6A_12_6">14,067</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_zJLhq68tKEq-WNZasuXwtQ_13_3">23,690</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_fiBMptYoBkuJW7bEqF9BHw_13_6">23,168</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt;">Long-lived assets include the unamortized balance of right-of-use assets amounting to $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="6" id="Narr_j6mqpLLz3keNW-FDATrwVw">4.2</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="6" id="Narr_Mjx3zpSZnECvTQcdxIOVZw">5.1</ix:nonFraction> million as of December 31, 2024 and December 31, 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><ix:nonFraction unitRef="Unit_Standard_customer_9_H1AbzmbEiNYhU0niR5jw" contextRef="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_RA24ZCeBFEauAZjTcQN-Fg" decimals="INF" format="ixt-sec:numwordsen" name="inod:NumberOfClient" scale="0" id="Narr_NpXfHl2o802S1wTSWa0ivA">One</ix:nonFraction> customer in the DDS segment generated approximately <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_RA24ZCeBFEauAZjTcQN-Fg" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_L9cySRaaVk-Y2vH0l-MkQw">48</ix:nonFraction>% of the Company&#8217;s total revenues in the fiscal year ended December 31, 2024. Another customer in the DDS segment generated approximately <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_qNQXPKAzR0OEyNGUUTCncA" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_O1YSlNU6RkKyLXzB3q2a_g">10</ix:nonFraction>% of the Company&#8217;s total </p></ix:continuation></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-34</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_00df8497_3fe4_4015_b4ce_c178a7de7456"></a><a id="Tc_f2XYf3yAPEuiomIMqte-Eg_1_2"></a><a id="Tc_RNKMlCjXJUuIxKVNo6wWkw_2_2"></a><a id="Tc_zlO0WOJUEUC21tuiaWpXhg_2_5"></a><a id="Tc_ENggjfVIk0eAWJYAU865Zg_3_0"></a><a id="Tc_kYt8pd0y9k2bHEJvIS8Asw_3_2"></a><a id="Tc_ArNuQ6dZAEykccFEKN8SfA_3_5"></a><a id="Tc_HB-25-hxzU6VqLlwZqsJAA_4_0"></a><a id="Tc_uQ8ry5booEiZnnZta2ffKQ_5_0"></a><a id="Tc_Vtinz18qyUWpMVoeqUOjrA_6_0"></a><a id="Tc_EJD-gOhlvUOzUoeUG1IYcA_7_0"></a><a id="Tc_mGwM5zyzlEGQeL6gqY1X8w_8_0"></a><a id="Tc_dvDEo3JwHUWtullgOllBbA_8_2"></a><a id="Tc_6l8T8cf0r0G4sirH8glzTg_8_5"></a><ix:continuation id="Tb_SnMgrw_yfUqcFlgD2gXmhg_cont3"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">revenues in the fiscal year ended December 31, 2023. <ix:nonFraction unitRef="Unit_Standard_customer_9_H1AbzmbEiNYhU0niR5jw" contextRef="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ClientMember_srt_StatementGeographicalAxis_country_US_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_AWdcfG0ZVkWokAYI1JqaBA" decimals="INF" format="ixt-sec:numwordsen" name="inod:NumberOfClient" scale="0" id="Narr_5-5fvYChlkegzoItOOCXSA">No</ix:nonFraction> other customer accounted for <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_RDdLwXvIoEmsSgtOv4tMag" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_qYOmOkeYmkycvYWktZ00Pw">10</ix:nonFraction>% or more of total revenues during these periods. Further, in the&#160;years ended December 31, 2024 and 2023, revenues from non-U.S. customers accounted for <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2024_To_12_31_2024_srt_StatementGeographicalAxis_us-gaap_NonUsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_MPu6YzbxnkaAhAa2gAdCug" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_qyje-gjvz0aM9m8Rw79uJw">21</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_us-gaap_NonUsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_rCle3eMyOEyIvjLCJkG__g" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_ygYNNMEpqEypA15Gc1BMFQ">37</ix:nonFraction>%, respectively, of the Company&#8217;s revenues.</p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" id="Tb_gqmj4OeGXkSW_ahJQi-3SA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Revenues for each of the two&#160;years in the period ended December 31, 2024 and 2023 by geographic region (determined based upon customer domicile), were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:34.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_srt_StatementGeographicalAxis_country_US_nDQWfjvHv0y2oQwWoBJaEA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_SM1jOh0r60SQkY7Dsl2WlQ_3_3">133,876</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_US_Au7whR08OUyEZWtUTxoXdA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_rLLRJWIkLEeH73M4wgr_FQ_3_6">54,430</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United Kingdom </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_srt_StatementGeographicalAxis_country_GB_qsVfT86o0UuiZpnsQCOMvg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_dhMNhc5md0ynRupdpcNCxA_4_3">10,006</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_GB_NwJe7mL3sU2LHKHNe4a4qw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_VZpupIaEukyTOSk5kcIPag_4_6">10,766</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">The Netherlands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_srt_StatementGeographicalAxis_country_NL_tEkK51FiFkWLjoGdH14nxg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_hYNIsgdVg0-ESdchHRoW8w_5_3">8,059</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_NL_Y7HzdVe2MEGqH_1Ry_BTvw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_Py9MPPO0H0Cn1AqoX8Ctcw_5_6">7,291</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_srt_StatementGeographicalAxis_country_CA_wYMJDAKY-EG0oNI94uXvAw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_RF9cXZzCgUWtPNaNGavsbA_6_3">8,696</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_CA_ob6LzdJzbk6rFHRKIA-tLA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_8EY8t1l5eUC2DqI_vOVgSw_6_6">7,156</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Others - principally other European countries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_srt_StatementGeographicalAxis_inod_OtherPrincipallyEuropeMember_D2pospoFuEerOD86WBLppA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_6-61LyQJikSEMRB0cxC8wA_7_3">9,824</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_inod_OtherPrincipallyEuropeMember_fKRoqkvvykSUshQGHJCiSw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_-Fy9-y9M3keKAzu5JmI5SQ_7_6">7,132</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_ejRGOutX7E2Ha8Vw_SXuGQ_8_3">170,461</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_L4TRaXAqqUmEqZD7o6qRMg_8_6">86,775</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">As of December 31, 2024, approximately <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ForeignCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_JTqKMIIzn0OWteVriD9C7g" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_IGnhX64CaEmS5mF4v58YZg">16</ix:nonFraction>% of the Company&#8217;s accounts receivable was due from foreign (principally European) customers and <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_TwoClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_gWFnncdmTEGT7_HnXni5Cg" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_mlW30adclUyfnjswlvLHTw">61</ix:nonFraction>% of accounts receivable was due from <ix:nonFraction unitRef="Unit_Standard_customer_9_H1AbzmbEiNYhU0niR5jw" contextRef="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_TwoClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_gWFnncdmTEGT7_HnXni5Cg" decimals="INF" format="ixt-sec:numwordsen" name="inod:NumberOfClient" scale="0" id="Narr_bs1rAL6pqEif_fCaEJTf9g">two</ix:nonFraction> customers. As of December 31, 2023, approximately <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ForeignCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_mKvNA3LkWk2yN5AyVvzZTQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_teS0jy5CdEeX7IjpmEIKGg">31</ix:nonFraction>% of the Company&#8217;s accounts receivable was due from foreign (principally European) customers and <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ThreeClientsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_4Sadc-gyL0iMsAwA2tleig" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_PwQsvRcKLEaMp5aOVR5PGw">53</ix:nonFraction>% of accounts receivable was due from <ix:nonFraction unitRef="Unit_Standard_customer_9_H1AbzmbEiNYhU0niR5jw" contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ThreeClientsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_4Sadc-gyL0iMsAwA2tleig" decimals="INF" format="ixt-sec:numwordsen" name="inod:NumberOfClient" scale="0" id="Narr_M7Tl9t-Sf0einSgUUxQB2Q">three</ix:nonFraction> customers. <ix:nonFraction unitRef="Unit_Standard_customer_9_H1AbzmbEiNYhU0niR5jw" contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_nePV46ws3E2oSn-a3utVCg" decimals="INF" format="ixt-sec:numwordsen" name="inod:NumberOfClient" scale="0" id="Narr__K2sMsmANkGLSU50y-n03g"><ix:nonFraction unitRef="Unit_Standard_customer_9_H1AbzmbEiNYhU0niR5jw" contextRef="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_gS6teXbpfkiAhH9SQOC_9g" decimals="INF" format="ixt-sec:numwordsen" name="inod:NumberOfClient" scale="0" id="Narr_3Cg0r1_Sg0SEBikjlcVAUA">No</ix:nonFraction></ix:nonFraction> other customer accounted for <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_p2a7is_IREm3ouxeuHtiWQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_ep-xlouRAkqRA2Rf9dGKLQ"><ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_gmsKeuNeWUS7pvwtaEpy9g" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_mJLpftwdAk-eGqfia19EVg">10</ix:nonFraction></ix:nonFraction>% or more of the accounts receivable as of December 31, 2024 and 2023.</p></ix:continuation><a id="Tc_TNKfeH4tUU6wiHpMMIWDLA_1_2"></a><a id="Tc_K8i5YRxSA0qDkAj-U5PFSg_2_2"></a><a id="Tc_VrDhsEYPJU-0eCYoxUL_fA_3_2"></a><a id="Tc_fJhI3pFce0unZMGnWHYtUw_3_5"></a><a id="Tc_iw78OAlyh0GqXMrqtHHclg_4_0"></a><a id="Tc_q2nPZ6buGEWQ9rGESQ3LTA_4_2"></a><a id="Tc_xaFqKKJmoEmsgdxzmkX1LQ_4_5"></a><a id="Tc_nifv25Ih2EWn55bqiR7-1g_5_0"></a><a id="Tc_-ezQnPTgSU2QYuUSvudAyA_6_0"></a><a id="Tc_zEuThTm2yEetZ3SCFRQVQw_6_6"></a><a id="Tc_FCr0YecIz0-9uGs-iUlVzA_7_0"></a><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:EarningsPerShareTextBlock" id="Tb_FAWLsgmphUqoCzeSCYcyGQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt;">15.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Income (loss) per Share</p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="Tb_0OO9c4VwZUKoVaZ3GQ1SPg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For&#160;the&#160;Years&#160;Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net income (loss) attributable to Innodata Inc. and Subsidiaries </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_0blmLVeY-UO3La0dnsiowg_4_3">28,660</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" sign="-" scale="3" id="Tc_AN_skcKMNEauvZC4KFQP6A_4_6">908</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average common shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="Tc_R1TG7v67e0myvDUPRa23cQ_5_3">29,163</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="Tc_fKrd1HMV3UWwaP0KM4qO6A_5_6">28,131</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Dilutive effect of outstanding options and restricted stock units</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="Tc_6AFtkiiruEWvK0EAJ7XZuw_6_3">3,014</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Adjusted for dilutive computation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="Tc_1ZpPrjoUa0uGVxGlDprpVw_7_3">32,177</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="Tc_TV0QWPjWyk6aAHyc61FUtw_7_6">28,131</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Basic income (loss) per share is computed using the weighted-average number of common shares outstanding during the&#160;year. Diluted income per share is computed by considering the impact of the potential issuance of common shares, using the treasury stock method, on the weighted average number of shares outstanding. For those securities that are not convertible into a class of common stock, the two-class method of computing loss per share is used.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Options to purchase <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_eJa40A_h-kGX1tkJzjjYZA" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" scale="6" id="Narr_ki5QiVnCkUGS49zc6zWNGQ">4.0</ix:nonFraction> million shares of common stock for the year ended December 31, 2024 were outstanding. Of these options, <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_S1GDvg3IeE2XmKn1NwjnPQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="6" id="Narr_7ZKKj64MAU6XFwisOeMKOg">3.7</ix:nonFraction> million were included in the computation of diluted income per share while the remaining <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_tWfdOE89JECD__2OPj2d0w" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="6" id="Narr_MOhwUm-5Ik2LAI5gwJ8ptQ">0.3</ix:nonFraction> million were not included in the computation of diluted income per share because the exercise price of the options were greater than the average market price of the common shares and therefore have not been considered as potential equity shares. Also included in the computation of dilutive income per share are <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_8DuPb6w0zU6DLbsVO6seHA" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" id="Narr_WK6EruNFD0-sUK8pGgNWYg">513,455</ix:nonFraction> restricted stock units using the treasury stock method to determine the dilutive effect of restricted stock units outstanding as of December 31, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Options to purchase <ix:nonFraction unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA" contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember__9wUofjsfU2SeYiwOl4XdQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" scale="6" id="Narr_tH01HXzlJUGp6s3SO7qunw">6.3</ix:nonFraction> million shares of common stock for the year ended December 31, 2023 were outstanding but not included in the computation of diluted loss per share because the effect would have been anti-dilutive.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-35</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_8b5c9a41_ffb8_4f28_8c44_f3031045a838"></a><a id="Tc_vefPVzC-E02WZVmHlutIFA_1_2"></a><a id="Tc_dJ5ProQ_4UOf9Sn-g_443Q_1_4"></a><a id="Tc_9bIYtOsrm0e4DcXTHDNwlQ_2_4"></a><a id="Tc_gTJ5rjeWJEejbqoAWBQ_dg_2_7"></a><a id="Tc_EznSQVXxL0aiRf8HZvDvdw_3_0"></a><a id="Tc_lsJtoBBj8k2A2vsEQbCCmw_4_0"></a><a id="Tc_nxThfVlL_UmvE5737lfD4g_4_2"></a><a id="Tc_S_XmwDQWXE-arza-qxQQiw_4_4"></a><a id="Tc_QG7BzOR5OECrCJHaGCWwuA_4_7"></a><a id="Tc__TjN5cQamkCQ6_SSCmfxFQ_4_8"></a><a id="Tc_PoJfVSYBdUaMOVyy9ZTHbQ_5_0"></a><a id="Tc_ymbiQ5aPtUm_3udfWjxdgQ_5_2"></a><a id="Tc_-eJrdWp12UeTmPKUzyIdKQ_5_4"></a><a id="Tc_GS9LKOfqtUO2EnpQ9rQtaw_5_5"></a><a id="Tc_AIYpMe_0VUy6IzEV1j2YDg_5_7"></a><a id="_3d744266_7faa_4c65_9d23_9fe6d9048455"></a><a id="Tc_FAhJ2vDQ8k2qxgXGWaw_qQ_1_2"></a><a id="Tc_DDKamihVfE6bLh60VOOi4A_1_5"></a><a id="Tc_VEBjDnw7ak-rhA4ra0cqCA_2_0"></a><a id="Tc_RTVmOE1dOk6zfUMLllM12w_2_2"></a><a id="Tc_KVyNyk0KZE-RVWSejAyI5g_2_5"></a><a id="Tc_hp0Ui-8tmUWcWwtPeXlYlA_3_0"></a><a id="Tc_dsP40ZGFt0alifgqjtrQ-A_3_2"></a><a id="Tc_QG9L26i_cEe0-7nnVz74Fw_3_5"></a><a id="Tc_C_QqHZih4kW-CaJhj3pPmg_4_0"></a><a id="Tc_1csAkEV4r0GaD5XBe3yQcQ_4_2"></a><a id="Tc_mdPeVLDgDkC48Ed8Fqg8wg_4_3"></a><a id="Tc_4zymjiSVSkaB_nHI-1KL-A_4_5"></a><a id="Tc_EkIla-GxTkSXf9KrjI61Vg_4_6"></a><a id="_9a4a01d0_9d62_4e03_b118_3c8269a12fc0"></a><a id="_aba2c29f_da4f_48cb_8ef2_85e241654890"></a><a id="_73db55fd_b672_4305_8bef_9165e3c50840"></a><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" id="Tb_aqClWfhnP0-Yifv9ddbidg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">16.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Derivatives</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company conducts a large portion of its operations in international markets which subject it to foreign currency fluctuations. The most significant foreign currency exposures occur when revenue and associated accounts receivable are collected in one currency and expenses to generate revenues are incurred in another currency. The Company is also subject to wage inflation and other government mandated increases and operating expenses in Asian countries where the Company has the majority of its operations. The Company&#8217;s primary inflation and exchange rate exposure relates to payroll, other payroll costs and operating expenses in the Philippines, India, Sri Lanka and Israel.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In addition, although most of the Company&#8217;s revenue is denominated in U.S. dollars, a significant portion of total revenues is denominated in Canadian dollars, Pound Sterling and Euros.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s policy is to enter derivative instrument contracts with terms that coincide with the underlying exposure being hedged for a period up to 12 months. As such, the Company&#8217;s derivative instruments are expected to be highly effective. For derivative instruments that are designated and qualify as cash flow hedges, the entire change in fair value of the hedging instrument is recorded to Other comprehensive income (loss). Upon settlement of these contracts, the change in the fair value recorded in Other comprehensive income (loss) are reclassified to earnings and included as part of Direct operating costs. For derivative instruments that are not designated as hedges, any change in fair value is recorded directly in earnings as part of Direct operating costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company formally documents all relationships between hedging instruments and hedged items, as well as its risk management objective and strategy for undertaking hedge transactions. The Company does not hold or issue derivatives for trading purposes. All derivatives are recognized at their fair value and classified based on the instrument&#8217;s maturity date. The total notional amount for outstanding derivatives designated as hedges was $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DerivativeNotionalAmount" scale="6" id="Narr_-O43HlgIjEG9cxrouBJw2w">22.5</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DerivativeNotionalAmount" scale="6" id="Narr_5TRMHQAz70iTwkrX8rK-1A">10.5</ix:nonFraction> million as of December 31, 2024 and 2023, respectively.</p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" id="Tb_gfQ5QlkGwk69FaJTCj23aA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table presents the fair value of derivative instruments included within the consolidated balance sheets as of December 31, 2024 and 2023 (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Derivatives designated as hedging instruments:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">Accrued expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_WqCf5fkajkCAgTVIJ0pPWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DerivativeInstrumentsAndHedgesLiabilities" scale="3" id="Tc_hapaYkp6F0S6ST1JKa7_9A_4_5">499</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:40.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2023_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_a3hTbpXLWUaKxQsYFEjCTg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DerivativeInstrumentsAndHedgesLiabilities" scale="3" id="Tc_5mBR13yV0UGzw8lg67Q0Iw_5_8">41</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" id="Tb_II4dsIYugk2neDf0xOHAlg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The effect of foreign currency forward contracts designated as cash flow hedges on the consolidated statements of operations for the&#160;years ended December 31, 2024 and 2023 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net gain (loss) recognized in OCI<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax" sign="-" scale="3" id="Tc_kG3JcoXFbE-_A_P4_Nvthw_2_3">494</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax" scale="3" id="Tc_Whsk1VxP-UybyioHTFEqww_2_6">185</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss reclassified from accumulated OCI into income<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax" sign="-" scale="3" id="Tc_doLmSPChN0uemLvZ9ATYCA_3_3">58</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax" sign="-" scale="3" id="Tc_gkbBCTubskODLVsI3OYhCA_3_6">221</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net gain recognized in income<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:5pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">Net change in fair value of the effective portion classified into other comprehensive income (&#8220;OCI&#8221;)</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">Effective portion classified within direct operating costs.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">There were no ineffective portions for the period presented</span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">.</span></td></tr></table></ix:nonNumeric></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-36</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2024 AND 2023</p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA" name="us-gaap:DebtDisclosureTextBlock" id="Tb_T9jzCCH2_UGSI9SrQ-1YoQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><b style="font-weight:bold;">17.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Line of Credit</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">On April 4, 2023, the Company entered into a Credit Agreement (the &#8220;Credit Agreement&#8221;) with Wells Fargo Bank, National Association, as lender, and Innodata Inc., Innodata Synodex, LLC, Innodata docGenix, LLC and Agility PR Solutions LLC as co-borrowers. On July 21, 2023, Innodata Services, LLC signed a Joinder Agreement to join the Credit Agreement as a co-borrower. On August 5, 2024, the Company entered into a second amendment to the Credit Agreement (together with the Credit Agreement, the &#8220;Amended Credit Agreement&#8221;). The Amended Credit Agreement provides for a secured revolving line of credit (the &#8220;Revolving Credit Facility&#8221;) up to an amount equal to the lesser of the borrowing base and $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_ARKlRptwm0ecXlwdFM97gA" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="Narr_NyLop7NO_EGLTlNJ9bsHKQ">30.0</ix:nonFraction> million (the &#8220;Maximum Credit&#8221;) and provides that a Borrower may request an increase to the Revolving Credit Facility&#8217;s Maximum Credit of up to, but not to exceed $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_ARKlRptwm0ecXlwdFM97gA" decimals="-5" format="ixt:num-dot-decimal" name="inod:LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender" scale="6" id="Narr_CrUREDfTVUiXmE76QY-OyQ">50.0</ix:nonFraction> million, subject to the approval of the Lender. The Revolving Credit Facility&#8217;s borrowing base is calculated on the basis of (i) <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_ARKlRptwm0ecXlwdFM97gA" decimals="2" format="ixt:num-dot-decimal" name="inod:LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" scale="-2" id="Narr_-JJZILe6lkW2mt1olqejHA">85</ix:nonFraction>% of eligible accounts (other than eligible foreign accounts and unbilled accounts), plus (ii) the lesser of (a) <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_ARKlRptwm0ecXlwdFM97gA" decimals="2" format="ixt:num-dot-decimal" name="inod:LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" scale="-2" id="Narr_By3DIWFgoEiaYcso6gavSw">80</ix:nonFraction>% of eligible accounts that are unbilled accounts and (b) <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_ARKlRptwm0ecXlwdFM97gA" decimals="2" format="ixt:num-dot-decimal" name="inod:LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" scale="-2" id="Narr_soI3BC65Mkq12rFseT0QFg">30</ix:nonFraction>% of all eligible accounts, plus (iii) the lesser of (a) <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_ARKlRptwm0ecXlwdFM97gA" decimals="2" format="ixt:num-dot-decimal" name="inod:LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" scale="-2" id="Narr_xR_yXXhFm0Onoos7YkOTFA">85</ix:nonFraction>% of eligible foreign accounts, (b) <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_ARKlRptwm0ecXlwdFM97gA" decimals="2" format="ixt:num-dot-decimal" name="inod:LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" scale="-2" id="Narr_2asrjOEn_0uOG8Xvb8mTNQ">20</ix:nonFraction>% of all eligible accounts and (c) $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_ARKlRptwm0ecXlwdFM97gA" decimals="-5" format="ixt:num-dot-decimal" name="inod:LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" scale="6" id="Narr_4jU0ezLWYU-e2Dkgwy5fmQ">4.0</ix:nonFraction> million, minus (iv) certain other reserves and adjustments. As of December 31, 2024, such borrowing base calculation equaled approximately $<ix:nonFraction unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg" contextRef="As_Of_12_31_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_Oh7Lh_DHn0K4-FcC2NeNMA" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity" scale="6" id="Narr_DgXmDDiiQEeGgMkwVaU1MQ">22.3</ix:nonFraction> million. The Credit Agreement contains a financial covenant that requires the Borrowers, on a consolidated basis, to maintain a fixed charge coverage ratio of not less than <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_8_5_2024_To_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_Rd8_85kk1EGdoRwjZ_W3KA" decimals="2" format="ixt:num-dot-decimal" name="inod:LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" scale="0" id="Narr_b631Du0sUE6wdYbdvoaHBw">1.10</ix:nonFraction> to 1.00. Except as set forth in the Credit Agreement, borrowings under the Revolving Credit Facility bear interest at a rate equal to the daily simple secured overnight financing rate (&#8220;<span style="-sec-ix-hidden:Hidden_ZzADL070F0SbmOl_6h7B7w;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">SOFR</span></span>&#8221;) plus <ix:nonFraction unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ" contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_aBl18KRgD0WnIJLI5-9AWA" decimals="4" format="ixt:num-dot-decimal" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="Narr_YFHUbj2XokSd9KUs50-rKQ">2.25</ix:nonFraction>%. The Company did not utilize the Revolving Credit Facility during the year ended December 31, 2024 or during the subsequent period through the filing date of this Report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-37</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_9bde7a31_f224_435d_8493_6bf5cbb9f266"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Exhibit Index update</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Exhibits which are indicated as being included in previous filings are incorporated herein by reference.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:7.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 2pt;"><b style="font-weight:bold;">Exhibit</b></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><b style="font-weight:bold;">Description</b></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;</b></p></td><td style="vertical-align:top;width:46.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><b style="font-weight:bold;">Filed as Exhibit</b></p></td></tr><tr><td style="vertical-align:top;width:7.95%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">3.1 (a)</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000114420404003625/v02249_ex31a.txt"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Restated Certificate of Incorporation dated April 27, 1993</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 3.1(a) to our Form 10-K for the year ended December 31, 2003</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">3.1 (b)</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000114420404003625/v02249_ex31b.txt"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certificate of Amendment of Certificate of Incorporation of Innodata Corporation dated February 28, 2001</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 3.1(b) to our Form 10-K for the year ended December 31, 2003</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">3.1 (c)</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000114420404003625/v02249_ex31.txt"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certificate of Amendment of Certificate of Incorporation of Innodata Corporation dated November 14, 2003</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 3.1(c) to our Form 10-K for the year ended December 31, 2003</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">3.1 (d)</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000114420412043385/v320136_ex3-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certificate of Amendment of Certificate of Incorporation of Innodata Isogen, Inc. dated June 5, 2012</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 3.1 to our Form 10-Q for the quarter ended June 30, 2012</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">3.2</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000092281102000095/doc8.txt"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of Amended and Restated By-Laws</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 3.1 to Form 8-K dated December 16, 2002</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">4.1</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000114420415047205/v416923_ex4-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Specimen of Common Stock certificate</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 4.1 to Form 10-Q dated August 7, 2015</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">4.2</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000141057822000489/inod-20211231xex4d2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Description of the Registrant&#8217;s Securities Registered Pursuant to Section 12 of the Securities Exchange Act of 1934</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 4.2 to our Form 10-K for the year ended December 31, 2021</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.1</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000092281103000030/doc6.txt"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of Indemnification Agreement between us and our Directors and one of our Officers</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.3 to Form 10-K for the year ended December 31, 2002</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.2</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000114420407042365/v084083_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Employment Agreement dated as of January 1, 2007 with Ashok Mishra*</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.1 to Form 10-Q for the quarter ended June 30, 2007</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.3</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000114420409016226/v0143882_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Employment Agreement dated as of March 25, 2009 with Jack S. Abuhoff*</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.1 to Form 8-K dated March 25, 2009</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.4</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000114420411040368/v228554_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Amendment to Employment Agreement with Jack S. Abuhoff dated as of July 11, 2011*</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.1 to Form 8-K dated July 12, 2011</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.5</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000114420416094736/v437135_def14a.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Innodata Inc. 2013 Stock Plan (as Amended and Restated effective June 7, 2016)</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Annex B to Definitive Proxy dated April 18, 2016</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.6</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000114420418046633/tv501863_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Amendment Number 1 dated August 24, 2018 to Agreement dated January 1, 2007 between the Company and Mr. Mishra*</span></a> </p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.1 to Form 8-K dated August 28, 2018</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.7</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000114420419015946/tv516211_ex10-59.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of Stock Option Grant Letter for July 13, 2018 Grant, for Directors*</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.59 to Form 10-K dated March 26, 2019</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.8</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000110465923050129/tm232142d1_def14a.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Innodata Inc. 2021 Equity Compensation Plan, amended and restated effective as of April 11, 2023</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Appendix A to Definitive Proxy Statement dated April 26, 2023</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.9</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000110465921081849/tm2119719d1_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of Innodata Inc. 2021 Equity Compensation Plan Nonqualified Stock Option Award Agreement for Employees*</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.1 to S-8 Registration Statement dated June 16, 2021</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.10</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000110465921081849/tm2119719d1_ex10-2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of Innodata Inc. 2021 Equity Compensation Plan Nonqualified Stock Option Award Agreement for Directors*</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.2 to S-8 Registration Statement dated June 16, 2021</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.11</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;" href="https://www.sec.gov/Archives/edgar/data/903651/000110465922026122/tm227453d1_ex10-1.htm">Form of Indemnification Agreement between Innodata Inc. and each of its Named Executive </a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;" href="https://www.sec.gov/Archives/edgar/data/903651/000110465922026122/tm227453d1_ex10-1.htm">Officers and Directors*</a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.1 to Form 8-K dated February 23, 2023</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.12</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000110465923042168/tm2311450d1_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Credit Agreement, dated as of April 4, 2023, by and among Innodata Inc., Innodata Synodex, LLC, Innodata Docgenix, LLC, and Agility PR Solutions LLC as borrowers, and Wells Fargo Bank, National Association, as lender (incorporated herein by reference to Exhibit 10.1 to the 8-K filed with the Securities and Exchange Commission on April 5, 2023)</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.1 to Form 10-Q dated May 11, 2023</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.13</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000110465923042168/tm2311450d1_ex10-2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Security Agreement, dated as of April 4, 2023, by and among Innodata Inc., Innodata Synodex, LLC, Innodata Docgenix, LLC, and Agility PR Solutions LLC as grantors, and Wells Fargo Bank, National Association, as secured party (incorporated herein by reference to Exhibit 10.2 to the 8-K filed with the Securities and Exchange Commission on April 5, 2023)</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.1 to Form 10-Q dated May 11, 2023</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.14</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000110465923042168/tm2311450d1_ex10-3.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Guaranty, dated as of April 4, 2023, by and among Innodata Inc., Innodata Synodex, LLC, Innodata Docgenix, LLC, and Agility PR Solutions LLC as guarantors, and Wells Fargo Bank, National Association, as lender (incorporated herein by reference to Exhibit 10.3 to the 8-K filed with the Securities and Exchange Commission on April 5, 2023).</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.1 to Form 10-Q dated May 11, 2023</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.15</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Joinder No.1 dated as of July 21, 2023 to <a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000110465923042168/tm2311450d1_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">(1) Credit Agreement, dated as of April 4, 2023, by and among Innodata Inc., Innodata Synodex, LLC, Innodata Docgenix, LLC, and Agility PR Solutions LLC as borrowers, and Wells Fargo Bank, National Association, as lender (incorporated by reference to Exhibit 10.1 of the Company&#8217;s Current Report on Form 8-K filed on April 5, 2023);</span></a> <a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000110465923042168/tm2311450d1_ex10-2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">(2) Security Agreement, dated as of April 4, 2023, by and among Innodata Inc., Innodata Synodex, LLC, Innodata Docgenix, LLC, and Agility PR Solutions LLC as grantors, and Wells Fargo Bank, National Association, as secured party (incorporated by reference to Exhibit 10.2 of the Company&#8217;s Current Report on Form 8-K filed on April 5, 2023;</span></a> <a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000110465923042168/tm2311450d1_ex10-3.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">and</span></a> <a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000110465923042168/tm2311450d1_ex10-3.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">(3) Guaranty, dated as of April 4, 2023, by and among Innodata Inc., Innodata Synodex, LLC, Innodata Docgenix, LLC, and Agility PR Solutions LLC as guarantors, and Wells Fargo Bank, National Association, as lender (incorporated by reference to Exhibit 10.3 of the Company&#8217;s Current Report on Form 8-K filed on April 5, 2023).</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.1 to Form 10-Q dated November 2, 2023</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.16</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000141057824000124/inod-20231231xex10d20.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of Innodata Inc. 2021 Equity Compensation Plan Restricted Stock Unit Agreement for Directors*</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.20 to Form 10-K dated March 4, 2024</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">10.17</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000141057824001246/inod-20240630xex10d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">First Amendment to the Credit Agreement, dated as of May 22, 2024, to Credit Agreement dated as of April 4, 2023, by and among Innodata Inc., Innodata Synodex, LLC, Innodata Docgenix, LLC, Agility PR Solutions LLC, and Innodata Services, LLC as borrowers, and Wells Fargo Bank, National Association, as lender.</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.1 to Form 10-Q dated August 9, 2024</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;">10.18</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000110465924087285/tm2421053d1_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Second Amendment to the Credit Agreement, dated as of August 5, 2024, to Credit Agreement dated as of April 4, 2023, by and among Innodata Inc., Innodata Synodex, LLC, Innodata Docgenix, LLC, Agility PR Solutions LLC, and Innodata Services, LLC as borrowers, and Wells Fargo Bank, National Association, as lender (incorporated by reference to Exhibit 10.1 of the Company&#8217;s Current Report on Form 8-K filed on August 8, 2024).</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.1 to the Current Report on Form 8-K dated August 8, 2024</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">10.19</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="inod-20241231xex10d19.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of Innodata Inc. 2021 Equity Compensation Plan Restricted Stock Unit Agreement for Employees*</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed herewith</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">19</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="inod-20241231xex19.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Trading Policy for Innodata Stock</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed herewith</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">21</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="inod-20241231xex21.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Significant subsidiaries of the registrant</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed herewith</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">23</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="inod-20241231xex23.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Consent of BDO India LLP</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed herewith</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">31.1</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="inod-20241231xex31d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certification of Chief Executive Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed herewith</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">31.2</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="inod-20241231xex31d2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certification of Chief Financial Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed herewith</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">32.1</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="inod-20241231xex32d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certification Pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Furnished herewith</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">32.2</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="inod-20241231xex32d2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certification Pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Furnished herewith</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">97.1</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000141057824000124/inod-20231231xex97d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Innodata Inc. Compensation Recoupment Policy</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 97.1 to Form 10-K dated March 4, 2024</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">101</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Interactive data files pursuant to Rule 405 of Regulation S-T:</p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed herewith</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">(i) the Consolidated Balance Sheets,</p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">(ii) the Consolidated Statements of Operations and Comprehensive Loss,</p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">(iii) the Consolidated Statements of Stockholders&#8217; Equity,</p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">(iv) the Consolidated Statements of Cash Flows and (v) the Notes to the Consolidated Financial Statements</p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">104</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Cover Page Interactive Data File</p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Included in Exhibit 101.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">* </b>Exhibit represents a management contract or compensatory plan, contract or arrangement required to be filed as Exhibits to this Annual Report on Form 10-K.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:2pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 0pt 54pt;"><span style="font-size:1pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border:0;"></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.19
<SEQUENCE>2
<FILENAME>inod-20241231xex10d19.htm
<DESCRIPTION>EX-10.19
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.6.128.0--><!--Created on: 2/24/2025 07:05:31 PM (UTC)--><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Exhibit 10.19</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 12pt 0pt;">Employee Form</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">INNODATA INC. 2021 EQUITY COMPENSATION PLAN</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">RESTRICTED STOCK UNIT AGREEMENT</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">This RESTRICTED STOCK UNIT AGREEMENT (the &#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Agreement</u>&#8221;), dated as of [INSERT DATE] (the &#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Date of Grant</u>&#8221;), is delivered by Innodata Inc. (the &#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Company</u>&#8221;) to [INSERT FULL NAME] (the &#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Participant</u>&#8221;).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">RECITALS</u></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Innodata Inc. 2021 Equity Compensation Plan, as amended (the &#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Plan</u>&#8221;) provides for the grant of restricted stock units in accordance with the terms and conditions of the Plan. The Committee has decided to make this grant of restricted stock units as an inducement for the Participant to promote the best interests of the Company and its stockholders. The Participant hereby acknowledges the receipt of a copy of the Plan and the official Plan prospectus, each of which have been provided with this Agreement. Paper copies of the Plan and the official Plan prospectus are available by contacting the General Counsel of the Company at 201-371-8017 or aagress@innodata.com. This Agreement is made pursuant to the Plan and is subject in its entirety to all applicable provisions of the Plan. Capitalized terms used herein and not otherwise defined will have the meanings set forth in the Plan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">For this Agreement to be valid, the Participant must return a copy of this Agreement to Amy Agress, SVP and General Counsel, Innodata Inc., email aagress@innodata.com.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">1.</font></font><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Grant of Stock Units</u>. &#160;Subject to the terms and conditions set forth in this Agreement and in the Plan, the Company hereby grants the Participant [INSERT # OF RSUs GRANTED] restricted stock units, subject to the restrictions set forth below and in the Plan (the &#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Stock Units</u>&#8221;). Each Stock Unit represents the right of the Participant to receive a share of common stock of the Company (&#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Company Stock</u>&#8221;), if and when the specified conditions are met in Section 3 below, and on the applicable payment date set forth in Section 5 below.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">2.</font></font><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Stock Unit Account</u>. &#160;Stock Units represent hypothetical shares of Company Stock, and not actual shares of stock. &#160;The Company shall establish and maintain a Stock Unit account, as a bookkeeping account on its records, for the Participant and shall record in such account the number of Stock Units granted to the Participant. &#160;No shares of Company Stock shall be issued to the Participant at the time the grant is made, and the Participant shall not be, and shall not have any of the rights or privileges of, a stockholder of the Company with respect to any Stock Units recorded in the Stock Unit account. &#160;The Participant shall not have any interest in any fund or specific assets of the Company by reason of this award or the Stock Unit account established for the Participant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">3.</font></font><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Vesting</u>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(a)</font></font>The Stock Units shall become vested with respect to 1/3 of the Stock Units on each of the first, second and third anniversaries of the Date of Grant (each a &#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Vesting Date</u>&#8221;), provided that the Participant continues to be employed by, or provide service to, the Company from the Date of Grant until the applicable Vesting Date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(b)</font></font>The vesting of the Stock Units shall be cumulative, but shall not exceed 100% of the Stock Units.</p><p style="display:none;line-height:0pt;margin:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:0pt;visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">4.</font></font><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Termination of Stock Units</u>. &#160;Except as set forth herein, if the Participant ceases to be employed by, or provide service to, the Company for any reason before all of the Stock Units vest, any unvested Stock Units shall automatically terminate and shall be forfeited as of the date of the Participant&#8217;s termination of employment or service. &#160;No payment shall be made with respect to any unvested Stock Units that terminate as described in this Section 4.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">5.</font></font><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Payment of Stock Units and Tax Withholding</u>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(a)</font></font>If and when the Stock Units vest, the Company shall issue to the Participant one share of Company Stock for each vested Stock Unit. Payment of any Stock Units that vest shall be made within 30 days after the applicable Vesting Date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(b)</font></font>All obligations of the Company under this Agreement shall be subject to the rights of the Company as set forth in the Plan to withhold amounts required to be withheld for any taxes, if applicable. The Participant shall be required to provide for the payment of, any federal, state, local or other taxes with respect to the Stock Units. Subject to Committee approval, the Participant may elect to satisfy any withholding tax obligation of the Employer with respect to the Stock Units by having shares of Company Stock withheld to satisfy an amount equal to the amount of any FICA, federal income, state, local and other tax liabilities required by law to be withheld with respect to the Stock Units.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(c)</font></font>The obligation of the Company to deliver Company Stock shall also be subject to the condition that if at any time the Committee shall determine in its discretion that the listing, registration or qualification of the shares upon any securities exchange or under any state or federal law, or the consent or approval of any governmental regulatory body is necessary or desirable as a condition of, or in connection with, the issuance of shares, the shares may not be issued in whole or in part unless such listing, registration, qualification, consent or approval shall have been effected or obtained free of any conditions not acceptable to the Committee.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">6.</font></font><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">No Stockholder Rights; Dividend Equivalents</u>. &#160;Neither the Participant, nor any person entitled to receive payment in the event of the Participant&#8217;s death, shall have any of the rights and privileges of a stockholder with respect to shares of Company Stock, including voting or dividend rights, until certificates for shares have been issued upon payment of Stock Units. &#160;The Participant acknowledges that no election under Section&#160;83(b)&#160;of the Code is available with respect to Stock Units. &#160;Notwithstanding the foregoing, the Committee may grant to the Participant Dividend Equivalents on the shares underlying the Stock Units prior to the applicable Vesting Date, which shall be credited to the Stock Unit account for the Participant and will be paid or distributed in accordance with this Agreement and the Plan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">7.</font></font><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Grant Subject to Plan Provisions</u>. &#160;This grant is made pursuant to the Plan, the terms of which are incorporated herein by reference, and in all respects shall be interpreted in accordance with the Plan. &#160;The grant and payment of the Stock Units are subject to the provisions of the Plan and to interpretations, regulations and determinations concerning the Plan established from time to time by the Committee in accordance with the provisions of the Plan, including, but not limited to, provisions pertaining to (a) rights and obligations with respect to withholding taxes, (b) the registration, qualification or listing of the shares of Company Stock, (c) changes in capitalization of the Company and (d) other requirements of applicable law. The Committee shall have the</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">2</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">authority to interpret and construe the Stock Units pursuant to the terms of the Plan, and its decisions shall be conclusive as to any questions arising hereunder.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">8.</font></font><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">No Service or Other Rights</u>. The grant of the Stock Units shall not confer upon the Participant any right to be employed by, retained by or in the service of the Company and shall not interfere in any way with the right of the Company to terminate the Participant&#8217;s employment or service at any time.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">9.</font></font><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Assignment and Transfers</u>. Except as the Committee may otherwise permit pursuant to the Plan, the rights and interests of the Participant under this Agreement may not be sold, assigned, encumbered or otherwise transferred except, in the event of the death of the Participant, by will or by the laws of descent and distribution. &#160;In the event of any attempt by the Participant to alienate, assign, pledge, hypothecate, or otherwise dispose of the Stock Units or any right hereunder, except as provided for in this Agreement, or in the event of the levy or any attachment, execution or similar process upon the rights or interests hereby conferred, the Company may terminate the Stock Units by notice to the Participant, and the Stock Units and all rights hereunder shall thereupon become null and void. &#160;The rights and protections of the Company hereunder shall extend to any successors or assigns of the Company and to the Company&#8217;s parents, subsidiaries, and affiliates. &#160;This Agreement may be assigned by the Company without the Participant&#8217;s consent.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">10.</font></font><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Applicable Law</u>. The validity, construction, interpretation and effect of this Agreement shall be governed by and construed in accordance with the laws of the State of Delaware, without giving effect to the conflicts of laws provisions thereof.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">11.</font></font><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Notice</u>. Any notice to the Company provided for in this instrument shall be addressed to the Company in care of the General Counsel at the corporate headquarters of the Company, and any notice to the Participant shall be addressed to such Participant at the current address shown on the records of the Company. &#160;Any notice shall be delivered by hand or enclosed in a properly sealed envelope addressed as stated above, registered and deposited, postage prepaid, in a post office regularly maintained by the United States Postal Service or by electronic mail to legal@innodata.com.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">12.</font></font><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Company Policies</u>. The Participant agrees that, subject to the requirements of applicable law, the Stock Units, and the right to receive and retain any Company Stock covered by this Agreement, shall be subject to any applicable clawback or recoupment policies, share trading policies and other policies that may be implemented by the Board or imposed under applicable rule or regulation from time to time.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">13.</font></font><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Application of Section 409A of the Code</u>. This Agreement is intended to be exempt from Section 409A of the Code under the &#8220;short-term deferral&#8221; exception and to the extent this Agreement is subject to Section 409A of the Code, it will in all respects be administered in accordance with Section 409A. &#160;Notwithstanding the foregoing, if the Stock Units constitute &#8220;deferred compensation&#8221; under Section 409A of the Code and the Stock Units become vested and settled upon the Participant&#8217;s termination of employment, payment with respect to the Stock Units shall be delayed for a period of six months after the Participant&#8217;s termination of employment if the Participant is a &#8220;specified employee&#8221; as defined under Section 409A of the Code and if required pursuant to Section 409A of the Code. &#160;If payment is delayed, the Stock Units shall be settled and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">3</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">paid within thirty (30) days after the date that is six (6) months following the Participant&#8217;s termination of employment. &#160;Payments with respect to the Stock Units may only be paid in a manner and upon an event permitted by Section 409A of the Code, and each payment under the Stock Units shall be treated as a separate payment, and the right to a series of installment payments under the Stock Units shall be treated as a right to a series of separate payments. &#160; In no event shall the Participant, directly or indirectly, designate the calendar year of payment. &#160;The Company may change or modify the terms of this Agreement without the Participant&#8217;s consent or signature if the Company determines, in its sole discretion, that such change or modification is necessary for purposes of compliance with or exemption from the requirements of Section 409A of the Code or any regulations or other guidance issued thereunder.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><font style="font-style:italic;font-weight:bold;">[Signature Page Follows]</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">4</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">IN WITNESS WHEREOF, the Company has caused its duly authorized officer to execute this Agreement, and the Participant has executed this Agreement, effective as of the Date of Grant.</p><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;width:100%;" align="center"><tr style="height:1pt;"><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:top;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">INNODATA INC.</p></td></tr><tr><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:49%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Name: Jack S. Abuhoff</p></td></tr><tr><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Title: Chief Executive Officer</p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">I hereby accept the award of Stock Units described in this Agreement, and I agree to be bound by the terms of the Plan and this Agreement. &#160;I hereby agree that all decisions and determinations of the Committee with respect to the Stock Units shall be final and binding.</p><div align="left"><table style="border-collapse:collapse;font-size:16pt;height:max-content;width:100%;"><tr><td style="vertical-align:bottom;width:49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:top;width:49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:49%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Date</p></td><td style="vertical-align:top;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:49%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Participant</p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">5</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-19
<SEQUENCE>3
<FILENAME>inod-20241231xex19.htm
<DESCRIPTION>EX-19
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.6.128.0--><!--Created on: 2/24/2025 07:05:31 PM (UTC)--><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;min-height:26.7pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Exhibit 19</b></p><div style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><div style="display:inline-block;height:26.7pt;width:117pt;"><div style="height:26.7pt;left:0pt;padding-bottom:0pt;position:relative;width:117pt;"><div style="height:0pt;position:relative;width:100%;"><div style="height:16.96pt;left:0pt;position:absolute;top:0.53pt;width:3.83pt;"><div style="height:16.96pt;left:0pt;padding-bottom:0pt;position:relative;top:0pt;width:3.83pt;"><div style="height:100%;left:0pt;position:relative;text-indent:0pt;top:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.28;padding-bottom:8pt;width:100%;margin:0pt;"><b style="font-weight:bold;"> </b><font style="visibility:hidden;">&#8203;</font></p></div></div></div></div><div style="height:0pt;position:relative;width:100%;"><div style="height:26.7pt;left:0pt;position:absolute;width:117pt;"><img src="inod-20241231xex19002.jpg" alt="Graphic" style="height:26.7pt;width:117pt;"></div></div></div></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">TRADING POLICY FOR INNODATA STOCK</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Introduction:</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">As employees and directors of Innodata Inc., a public company, or of an Innodata Inc. affiliate or subsidiary, we have legal and ethical responsibilities. The policies and procedures discussed in this Trading Policy for Innodata Stock (this &#8220;Policy&#8221;) are designed to (1) provide for the proper handling of material non-public information; (2) prevent violations of laws and regulations prohibiting the misuse of material non-public information; and (3) avoid situations that might create an appearance that material non-public information has been misused.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Legal Restrictions:</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.1pt;text-indent:-0.1pt;margin:0pt 0pt 12pt 0pt;"><font style="white-space:pre-wrap;">Under the Securities Act of 1933, it is illegal for any employee,  director, agent, auditor or consultant or any other individuals who act in the name or on behalf of Innodata (each, a &#8220;Covered Person&#8221;) to buy or sell Innodata stock, puts, calls or other derivatives, whether or not issued by Innodata, or any other type of securities that Innodata may issue, such as preferred stock, convertible debentures and warrants, while in the possession of material non-public information or to pass such information to others who then buy or sell stock.</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">1.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">What is Material Non-Public Information?</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 36pt;">&#8220;Non-public information&#8221; consists of information known within Innodata that has not been widely disseminated to the public. &#8220;Material&#8221; information is information that a reasonable investor would consider important in deciding to buy, sell, or hold stock or other securities. Material information can be favorable or unfavorable. Some examples of information that could be considered material include:</p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">a.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">significant changes in sales volumes, market shares, product pricing or mix of sales</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">b.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">acquisition or loss of a major contract</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">c.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">changes in debt rates or analyst upgrades or downgrades of stock</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">d.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">earnings and dividends</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">e.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">major business acquisitions or dispositions</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">f.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">financial, sales and other significant internal business forecasts</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">g.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">significant changes in accounting treatment, write-offs or effective tax rate</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">h.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">changes in top management</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">i.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">stock split</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:24pt 0pt 0pt 0pt;">Page 1 of 5</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 72pt;"><b style="font-weight:bold;">Note:</b> The above list is intended to be illustrative only and is <u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">neither</u> exhaustive nor comprehensive. Whether any particular information could be considered material by a &#8220;reasonable&#8221; investor depends on the specific circumstances existing at a particular point of time. A major factor in determining whether any information is material is the known, or potential, impact of that information on the company&#8217;s financial condition, results of operations, or liquidity. Even though information in a Covered Person&#8217;s possession may come within the scope of one of the topics listed above, the information is not necessarily material. If there is any doubt as to whether non-public information is material, Covered Persons should treat the information as if it were material.</p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">2.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">What is Prohibited?</b></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">a.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Prohibitions on Trading in Securities of Innodata:</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 54pt;">A Covered Person may not purchase or sell Innodata stock, puts, calls or other derivatives, whether or not issued by Innodata, or any other type of securities that Innodata may issue, such as preferred stock, convertible debentures and warrants, while material non-public information is in his or her possession. In addition, it is illegal to pass material non-public information on to others who then trade in Innodata securities. Accordingly, such persons must not:</p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:62.65pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:30.25pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">i.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">provide material non-public information to family members, business acquaintances, or friends;</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:62.65pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:30.25pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">ii.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><font style="white-space:pre-wrap;">recommend to anyone that they buy or sell stock while in the possession of material nonpublic information, even if the specific information is not disclosed to that person;  or</font></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:62.75pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:30.45pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">iii.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">disclose material non-public information to any employee who does not need to know the information to do his or her job.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 54pt;"><b style="font-weight:bold;">Note:</b> If a Covered Person provides a &#8220;tip&#8221; to someone who then buys or sells stock, whether or not such Covered Person buys or sells stock, both the &#8220;tipper&#8221; and the &#8220;tippee&#8221; can be convicted of insider trading and be subject to the penalties described below. Penalties may apply regardless of whether the tipper derives any benefits from the tippee&#8217;s trading activities. For these same reasons, a Covered Person should never discuss material non-public information in public places.</p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">b.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Prohibitions on Trading in Securities of Suppliers or Others Doing Business with Innodata</b><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">:</u><font style="white-space:pre-wrap;">   If a Covered Person obtains material non-public information concerning a supplier or other corporation doing business with the Innodata, the law considers them to be an insider of that supplier or corporation and, therefore, they may not purchase or sell securities of the supplier or corporation, or make trading recommendations to others. If this occurs, the Covered Person may be subject to all the penalties for insider trading described above. Covered Persons must always remember that information which may not be material to them may nevertheless be material to a supplier or other corporation.</font></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">c.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Other Prohibitions</b></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:62.65pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:30.25pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">i.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Short Sales</u>. Short sales of Innodata&#8217;s securities evidence an expectation on the part of the seller that the securities will decline in value, and therefore signal to the market that the seller has no confidence in Innodata or its short-term prospects. In addition, short sales may reduce the seller&#8217;s incentive to improve Innodata&#8217;s performance. For these reasons, short sales by Covered Persons of Innodata securities are prohibited by this </p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:24pt 0pt 0pt 0pt;">Page 2 of 5</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 90pt;">Policy. In addition, Section 16 of the Securities and Exchange Act of 1934 expressly prohibits executive officers and directors from engaging in short sales.</p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:62.65pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:30.25pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">ii.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Publicly Traded Options</u>. A transaction in publicly-traded options is, in effect, a bet on the short-term movement of Innodata&#8217;s stock and therefore creates the appearance that the director or employee is trading based on inside information. Transactions in publiclytraded options also may focus the Covered Person&#8217;s attention on short-term performance at the expense of Innodata&#8217;s long-term objectives. Accordingly, transactions by Covered Persons in puts, calls or other derivative securities involving Innodata&#8217;s common stock, on an exchange or in any other organized market, are prohibited by this Policy. (Option positions arising from certain types of hedging transactions are governed by the section below captioned &#8220;Hedging Transactions.&#8221;)</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:62.65pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:30.25pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">iii.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Hedging Transactions</u>. Certain forms of hedging or monetization transactions, such as zero-cost collars and forward sale contracts, allow a Covered Person to lock in much of the value of his or her stock holdings, often in exchange for all or part of the potential for upside appreciation in the common stock. These transactions allow the employee to continue to own the covered securities, but without the full risks and rewards of ownership. When that occurs, the Covered Person may no longer have the same objectives as Innodata&#8217;s other shareholders. Therefore, such transactions by Covered Persons involving Innodata&#8217;s securities are prohibited by this Policy.</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:62.65pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:30.25pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">iv.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Margin Accounts and Pledges</u>. Securities held in a margin account may be sold by the broker without the customer&#8217;s consent if the customer fails to meet a margin call. Similarly, securities pledged (or hypothecated) as collateral for a loan may be sold in foreclosure if the borrower defaults on the loan. Because a margin sale or foreclosure sale may occur at a time when the pledgor is aware of material nonpublic information or otherwise is not permitted to trade in Innodata&#8217;s securities, Covered Persons are prohibited from holding Innodata securities in a margin account or pledging Innodata securities as collateral for a loan.</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">3.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Are There Valid Excuses for Insider Trading?</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 35.3pt;">There are no valid excuses for insider trading. There are no financial hardship exemptions, i.e., down payment for a house, money for college tuition, or medical expenses. There is no exception for small trades. Losing money is not a defense. If the Covered Person has material non-public information they should not trade. If in doubt the Covered Person should not trade. The Covered Person should always assume trading or advice to others will be scrutinized and presume the worst outcome.</p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">4.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Legal Penalties for Insider Trading</b>:</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 35.3pt;">A Covered Person who violates laws and regulations prohibiting the misuse of material non-public information could, as a maximum penalty, be imprisoned for up to twenty years, be fined up to five million dollars ($5,000,000), and/or have to forfeit up to three times the profits gained or losses avoided.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Innodata Policy</b><b style="font-weight:bold;">:</b></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">1.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Who is Covered by this Policy?</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.1pt;text-indent:-0.1pt;margin:0pt 0pt 0.15pt 35.25pt;">All employees and directors and auditors, consultants and agents of Innodata Inc. or of an Innodata Inc. affiliate or subsidiary.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:24pt 0pt 0pt 0pt;">Page 3 of 5</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">2.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">When May an Employee or Director Trade?</b></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:35.3pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">a.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">If a Covered Person does not have material non-public information and is <u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">not</u> management or a manager, the employee may trade Innodata stock at any time. Covered Persons possessing nonpublic information must use good judgement to determine whether the non-public information in their possession is material. The mere perception by a Covered Person&#8217;s friends or business colleagues that he or she traded on material non-public information could damage Innodata and the Covered Person&#8217;s reputation and expose him or her to potentially serious consequences. To avoid the perception of insider trading by others who may have the benefit of hindsight, Covered Persons should be very cautious when deciding whether they are in possession of material nonpublic information.</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:35.3pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">b.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">If a Covered Person who is not management or a manger does not possess material non-public information, but because of the nature of their job they are sensitive to how others might judge their trading in Innodata stock, the safest time to trade in stock is during the &#8220;window&#8221; period. Even in a &#8220;window&#8221; period, however, employees cannot trade in stock if they possess material non-public information.</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:35.3pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">c.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">Management, managers and directors must limit their trading to the window period. Even in a &#8220;window&#8221; period, however, management, managers and directors cannot trade in stock if they possess material non-public information</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:35.3pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">d.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">Subject to the restrictions described herein, the &#8220;window&#8221; period is as follows:</p></td></tr></table><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;" align="center"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:top;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:top;width:48.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">The Trading Window Opens: </b></p></td><td style="vertical-align:top;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:top;width:48.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">The Trading Window  is</b></p></td></tr><tr><td style="vertical-align:top;width:48.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:48.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Closed as of:</b></p></td></tr><tr><td style="vertical-align:top;width:48.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:48.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:48.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">At the open of market on the third<br>trading day following the day of the<br>Q4 earnings conference call</p></td><td style="vertical-align:top;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:48.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">March 21</p></td></tr><tr><td style="vertical-align:top;width:48.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:48.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:48.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:48.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:48.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">At the open of market on the third <br>trading day following the day of the<br>Q1 earnings conference call</p></td><td style="vertical-align:top;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:48.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">June 21</p></td></tr><tr><td style="vertical-align:top;width:48.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:48.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:48.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:48.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:48.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">At the open of market on the third<br>trading day following the day of the<br>Q2 earnings conference call</p></td><td style="vertical-align:top;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:48.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">September 21</p></td></tr><tr><td style="vertical-align:top;width:48.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:48.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:48.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:48.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:48.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">At the open of market on the third <br>trading day following the day of the<br>Q3 earnings conference call</p></td><td style="vertical-align:top;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:48.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">December 21</p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 54pt;">By way of example, if the earnings conference call is on a Monday, the window will open at the open of market on the following Thursday; and if the earnings conference call is on a Thursday, the window will open at the open of market on the following Tuesday.</p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">e.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">Employees and directors possessing material non-public information that becomes known to the investing public must wait until two business days after the date the information has been publicly released before they may buy or sell.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:24pt 0pt 0pt 0pt;">Page 4 of 5</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">f.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">Notwithstanding the above, the Company may close the window for all stock trades at any time that the Company deems it reasonably necessary to comply with SEC regulations.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Additional Restrictions for Directors and Officers Subject to Section 16 of the Exchange Act of 1934</b><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">:</u></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">1.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">Directors and officers subject to Section 16 of the Exchange Act of 1934, whether or not in possession of material non-public information:</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:35.25pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0.15pt;margin-top:0pt;">a.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0.15pt;margin-top:0pt;">must obtain pre-clearance from the General Counsel of Innodata prior to engaging in any transaction involving Innodata securities.</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:35.25pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0.15pt;margin-top:0pt;">b.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0.15pt;margin-top:0pt;">are prohibited from purchasing Innodata stock within six months before or after a sale of Innodata stock (regardless of whether the purchase or the sale occurs first). For example: if you buy Innodata stock on January 15 and sell Innodata stock on April 15 it is prohibited. It is also prohibited to sell Innodata stock on January 15 if you have purchased Innodata stock within six months prior to January 15. This prohibition continues to apply post service as a director or officer with respect to purchases and sales of Innodata stock that took place within the six-month period prior to ceasing to be a director or officer.</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:66.25pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:23.75pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">i. </p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">Stock issued upon the exercise of an option is generally not deemed to be a &#8220;purchase&#8221; for purposes of Section 16(b) of the Exchange Act.</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">c.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">must comply with the requirements of Rule 144 of the Securities Act of 1933 in connection with sales of Innodata stock. This requirement continues to apply post service as a director or officer for a period of 90 days.</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">2.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">As of the date of release of this Policy, the officers subject to Section 16 of the Exchange Act of 1934 are the CEO, CFO and COO.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-indent:-0.5pt;margin:0pt 0pt 12pt -0.35pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Conclusion:</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">Innodata considers compliance with this Policy to be a matter of utmost importance. Managers are responsible for ensuring that all employees who report to them understand this Policy. This includes any employee who might only remotely come into possession of material non-public information. Violation of this Policy could cause extreme embarrassment, possible legal liability to you and ultimately jeopardize the welfare of Innodata. Employees who violate this Policy will also be subject to disciplinary action, up to and including termination.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-indent:-0.5pt;margin:0pt 0pt 12pt -0.35pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Questions:</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.1pt;text-indent:-0.1pt;margin:0pt 0pt 12pt 0pt;">Employees should direct questions regarding whether they have material non-public information to their manager. Employees may also contact our General Counsel, Amy Agress, with any questions concerning this Policy.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.1pt;text-indent:-0.1pt;margin:0pt 0pt 12pt 0.4pt;">Policy Updated as of August 1, 2022.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:24pt 0pt 0pt 0pt;">Page 5 of 5</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-21
<SEQUENCE>4
<FILENAME>inod-20241231xex21.htm
<DESCRIPTION>EX-21
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.6.128.0--><!--Created on: 2/24/2025 07:05:31 PM (UTC)--><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Exhibit 21</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Significant Subsidiaries</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;" align="center"><tr style="height:5.4pt;"><td style="vertical-align:bottom;white-space:nowrap;width:55.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;width:19.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Name&#160;under</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:55.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:19.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">State&#160;or&#160;other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:19.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">which&#160;subsidiary</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:55.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:19.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">jurisdiction&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:19.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">conducts</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:bottom;width:55.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Name of Subsidiary</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:19.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">incorporation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:19.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">business</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:bottom;width:55.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Innodata India Private Limited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:19.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">India</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:19.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Same</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:bottom;width:55.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Innodata Knowledge Services, Inc.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:19.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Philippines</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:19.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Same</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:bottom;width:55.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Agility PR Solutions Canada Ltd. </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:19.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:19.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Same</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:bottom;width:55.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">ESS Manufacturing Co. Inc.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:19.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Philippines</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:19.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Same</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:bottom;width:55.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Innodata Book Distribution Services Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:19.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Hong Kong</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:19.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Same</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23
<SEQUENCE>5
<FILENAME>inod-20241231xex23.htm
<DESCRIPTION>EX-23
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.6.128.0--><!--Created on: 2/24/2025 07:05:31 PM (UTC)--><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Exhibit 23</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="font-size:11pt;">We hereby consent to the incorporation by reference in the registration statements on Form S-8 (File Nos. 333-193051, 333-201659, 333-215130, 333-257129, and 333-265608) and the registration statements on Form S-3 (File Nos. 333-91649, 333-51400, and 333-281379) of our report, dated February 24, 2025 relating to the consolidated financial statements of Innodata Inc. as of December 31, 2024 and 2023, and for each of the years then ended, included in this Annual Report on Form 10-K of Innodata Inc. for the year ended December 31, 2024.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="font-size:11pt;">/s/ BDO INDIA LLP</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">Mumbai, India</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="font-size:11pt;">February 24, 2025</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>6
<FILENAME>inod-20241231xex31d1.htm
<DESCRIPTION>EX-31.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.6.128.0--><!--Created on: 2/24/2025 07:05:41 PM (UTC)--><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Exhibit 31.1</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;">CERTIFICATIONS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">I, Jack S. Abuhoff, certify that:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">1.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">I have reviewed this annual report on Form 10-K of Innodata Inc.;</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">2.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">Based on my knowledge, this annual report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this annual report;</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">3.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">Based on my knowledge, the financial statements, and other financial information included in this annual 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 annual report;</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">4.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">The registrant&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 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 we have:</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">a)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this annual report is being prepared;</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 0pt 18pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">b)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">designed such internal control over financial reporting, or caused such internal control over &#160; financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 0pt 18pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">c)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this annual 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;&#160;and</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 0pt 18pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">d)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s fourth fiscal quarter that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">5.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">The registrant&#8217;s other certifying officers and I have disclosed, based on our most recent evaluation of internal controls over financial reporting, to the registrant&#8217;s auditors and the audit committee of registrant&#8217;s board of directors (or persons performing the equivalent function):</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 0pt 18pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">a)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">all significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and report financial information; and</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 0pt 18pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">b)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;" align="center"><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Dated: February 24, 2025</p></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">/s/ Jack S. Abuhoff</p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Jack S. Abuhoff</p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Chief Executive Officer and President</p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>7
<FILENAME>inod-20241231xex31d2.htm
<DESCRIPTION>EX-31.2
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.6.128.0--><!--Created on: 2/24/2025 07:05:42 PM (UTC)--><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Exhibit 31.2</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;">CERTIFICATIONS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">I, Marissa B. Espineli, certify that:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">1.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">I have reviewed this annual report on Form 10-K of Innodata Inc.;</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">2.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">Based on my knowledge, this annual report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this annual report;</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">3.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">Based on my knowledge, the financial statements, and other financial information included in this annual 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 annual report;</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">4.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">The registrant&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 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 we have:</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">a)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this annual report is being prepared;</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 0pt 18pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">b)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">designed such internal control over financial reporting, or caused such internal control over &#160; financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 0pt 18pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">c)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this annual 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;&#160;and</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 0pt 18pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">d)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s fourth fiscal quarter that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 0pt 18pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">5.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">The registrant&#8217;s other certifying officers and I have disclosed, based on our most recent evaluation of internal controls over financial reporting, to the registrant&#8217;s auditors and the audit committee of registrant&#8217;s board of directors (or persons performing the equivalent function):</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 0pt 18pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">a)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">all significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and report financial information; and</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 0pt 18pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">b)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;">any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;" align="center"><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Dated: February 24, 2025</p></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">/s/ Marissa B. Espineli</p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Marissa B. Espineli </p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interim Chief Financial Officer</p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>8
<FILENAME>inod-20241231xex32d1.htm
<DESCRIPTION>EX-32.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.6.128.0--><!--Created on: 2/24/2025 07:05:43 PM (UTC)--><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Exhibit 32.1</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">CERTIFICATION PURSUANT TO</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">18 U.S.C. SECTION 1350,</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">AS ADOPTED PURSUANT TO</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In connection with the Annual Report of Innodata Inc. (the &#8220;Company&#8221;) on Form 10-K for the year ended December 31, 2024 as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;), I, Jack S. Abuhoff, Chief Executive Officer and President of the Company, certify, pursuant to 18 U.S.C. &#167;1350, as adopted pursuant to &#167;906 of the Sarbanes-Oxley Act of 2002, that to the best of my knowledge:</p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">1.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">the Report fully complies with the requirements of section 13(a) or 15(d) of the Securities Exchange Act of 1934; and</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">2.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</p></td></tr></table><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.00925827%;padding-left:0pt;padding-right:0pt;width:100%;" align="center"><tr style="height:1pt;"><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">/s/ Jack S. Abuhoff</p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Jack S. Abuhoff</p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Chief Executive Officer and President</p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">February 24, 2025</p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>9
<FILENAME>inod-20241231xex32d2.htm
<DESCRIPTION>EX-32.2
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.6.128.0--><!--Created on: 2/24/2025 07:05:43 PM (UTC)--><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Exhibit 32.2</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">CERTIFICATION PURSUANT TO</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">18 U.S.C. SECTION 1350,</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">AS ADOPTED PURSUANT TO</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In connection with the Annual Report of Innodata Inc. (the &#8220;Company&#8221;) on Form 10-K for the year ended December 31, 2024 as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;), I, Marissa B. Espineli, Interim Chief Financial Officer, certify, pursuant to 18 U.S.C. &#167;1350, as adopted pursuant to &#167;906 of the Sarbanes-Oxley Act of 2002, that to the best of my knowledge:</p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">1.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">the Report fully complies with the requirements of section 13(a) or 15(d) of the Securities Exchange Act of 1934; and</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">2.</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</p></td></tr></table><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;" align="center"><tr style="height:1pt;"><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">/s/ Marissa B. Espineli</p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Marissa B. Espineli</p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interim Chief Financial Officer</p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">February 24, 2025</p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>10
<FILENAME>inod-20241231xex19002.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 inod-20241231xex19002.jpg
M_]C_X  02D9)1@ ! @   0 !  #_VP!#  ," @," @,# P,$ P,$!0@%!00$
M!0H'!P8(# H,# L*"PL-#A(0#0X1#@L+$!80$1,4%145# \7&!84&!(4%13_
MVP!# 0,$! 4$!0D%!0D4#0L-%!04%!04%!04%!04%!04%!04%!04%!04%!04
M%!04%!04%!04%!04%!04%!04%!04%!3_P  1"  V .H# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
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
MQG@@]<5YO_P3Z\"S>.OBYJFG6WB?7?"C1Z2\AO/#]PD$S@.@VL61AM.<XQU
MKT#PE_P3MT3Q#\5?$'A'_A,]0MHM,TJRU%;E+"'?(9S("I&< #9P?>OJC]F;
M]BC0_P!FSQ1J.O6OB+4-?U"ZMOLB_:84A2)"P9N%SDDJ.IXKFJ8FA0P\J<)7
MDUV?ZG53PN(KXB-2<;17FOTL>V_#[P;-X%T(:;/XBUGQ0_F-)]OUV=)KC!Q\
MNY44;1CCCN:^6O\ @J3_ ,D*T;_L-0_^@M7V6*\E_:0_9[T[]H_P;:>'=3U>
M[T>WM[M;L364:.Y901@AN,<UX6&JJG7C4GLF>_B:3J4)4X;M'Q3_ ,$P?]=\
M3O\ L%I_[-7S_P#LP_\ )T_@[_L.G_T-J_2K]G7]CK1?V='\1-IGB'4=7.M6
MPMI!>11IY8&>5VCD\]ZX?X<_\$YO#7PZ^).D^,+;Q?K-Y=:?>_;4MIH(1&YR
M3M) SCFO<>/H>TK2OI)*VGD>%]0K^SHQMK%ZZ^96_P""H?\ R0?3/^PO%_(U
M\K_ /_DSWXZ?]N_\J_1C]H[]G[3OVC/!=MX<U/5KO2((;I;H36<:.Q*]L-QB
MO-/!'["/A_P1\*_&7@>#Q1JMS:>)MGG74L,0DAV]-H P?QKEP^+I4\*J4GKS
M)_BCJQ&$JU,4ZL5I9K\#Y._X)?\ _)=-7_[!#_\ H8KH/^"JW_)1_!O_ &#I
M/_1E?3W[.G[$>A?LZ>,[KQ#IGB74]7GN+4VIAO(8D0 G.<J,YJ]^TK^QQHO[
M2NOZ3JFJ>(=1T:33H&MTCLHHW5P6SD[A6KQE'Z\J]_=MV,E@JWU'V%O>OW/@
M/XJ> ;_4/V0/A1XNMXFEL["2YLKEE&?+#OE"?8G(S7T=_P $TOC%X:TOX9ZU
MX4U?6;'2M1LKQ[N-+VX6+S(7&2P+$ X/7TKZD^&W[/\ X?\  7P<A^&]X6\2
MZ$L;Q2C48U!F5CDA@O'XBOFKQG_P2J\':QJTESH'B_5-!LG.18W%K'>+'[*Y
M*MCZY^M)XNA7IRH56TKW3^8+!U\/4A7I)-V2:OY6/C_]K;QA:?&/]I+7[KPS
M(-6M[F>*PLI+8;A<, $!7U!/0UWG[<?PFU'X:Z5\*%N8RT4'AZ/3I)E!"^=&
M<LOUPPK[7^ /["?@'X%:M#K@>Z\3^(XA^YO]250D!]8HEX4^Y)/O7J_QC^#'
MAGXZ>#)_#?B>T>:T9A)#/"VV:WD'1T;'!_0]Q5O,:=.I3C3^&.GJ2LMJ5*=2
M53XY:^A\P?L*?M*^ ?#O[/-OHOB/Q-IN@ZCH+RB6"^N%B>2,L65HU/+Y!QA<
MG/%?!>I>)K7QC^T,=<LMPM-0\2QW,.X8.QKE2"1]*^Z/#O\ P2J\):=XDAO-
M6\9ZKK.D1R;_ .S?LD<#2 'A7E!)QZX S[5T>K_\$V/"%_\ $1O%-MXFU335
M%_'?1:;;6T @BV.&$:\9V_*!5T\5@Z-6<XR?O>1G4PN-K4J<)Q7N^>Y\R?\
M!2/QYK>L_&>'PQ<W$J:%I-C!):V>2(VDD0,TI'0DYQD] *]L_9N^&?[/O@K]
MG>P^(7B2+0O$&HFS-Q?W.LLD[1S@<V\<+DA6!&T +D^M>[?M'?L=>$/VBX[.
M[U&XNM%\06<0@AU:Q569H^R2(W#@<XZ$9ZUY-\-/^"7W@KPAXEMM6\1^(;WQ
M=';2++%I[VL=M [ Y'F8+%Q_LY /?(XK%8JA+"QI\SBUO;J;/"8B&*E4Y5)/
M:_0^"O@9=17O[1W@>X@C$,$OB6VDCC  "J9@0,#I@5]@_P#!65&\CX;/M.S?
M?#=VSB&O1]/_ .";_A?1_B9;^,=/\7:Q:W%MJBZI#:+;0>5&PDWB,<9V]OI7
MO'QW^ 7AC]H/P:OA_P 2K.BPR_:+:]M'"3V\N"-RD@@@@X*D8/Y557'T7B:5
M6.J6Y-' 5EAJM*6\GH?)G_!/O]HKX=?#SX+2>'?$WBJQT/6$U6>1;:\+*9$D
M*[&4XP<\CCN*\Q_X*=>/M:U3XQZ?X2EN9(_#VFZ=!=PVBDB.6:4L6E(_B("A
M1GI@XZFO5[#_ ()1Z/9ZK!<GXCZE);Q2K*(AI<0<X8'!;?CMUQ7O_P"T=^R+
MX0_:0M;*;59KK2->L(C#;:O8A2XC)SY<B-PZYR0.""3@\FI6(PM+%JO%MIWO
MIM<MX?%U<(Z$DDU:VNY\]_LH?"WX ^'OV>=/^(?BQ-"UK4_(DFU2YUN1)OLD
MJL?W"0,<*P 4 ;2S$@CJ*^'O -_;ZG\=O#U[:0BVL[GQ+!/#"%"B.-KH,JX'
M P"!@>E??_P\_P""6W@KPUXCMM3\2^);_P 66MNZR+IS6J6L4I!R!*5+,R^J
M@C/KCBM:]_X)L^%9?B3-XOL_%FK:=,VJ_P!JQ64%K!Y,+>;Y@C7C[H/ ]JWA
MC,/3G4;FWS>6B\D<\\%B*D*:4%'EMUU?FSZH'CC01XB_L/\ M2W_ +5W;/LV
M[G?C=LSTW;>=N<XYQ6_7FZ?!/21X_/B<75P',XNC;87'F;MV-_79N^?;_>[X
M^6O2*^:DHKX3Z>#D[\P4F,T45)H4-:T'3O$=B;+5+&WU&T+I(8+J,2(61@RG
M!XR& (]Q5&^\">'M235ENM$T^Y75]G]H"6V1A=[!A/-R/GP.!GI110I-;,3B
MGT+EIX=TVQU6XU.#3[6#4;B)()KJ.(+))&F=BLP&2%W' [9-:%%%)-O<+)"X
MHQ110,*,<^U%% F%&***!@1Q1C%%%)@&*3;113ZB%P:3%%%,!<48HHI# BC!
=]J** #'-!HHIB08H HHI &*,444##%+110!__]D!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>11
<FILENAME>inod-20241231.xsd
<DESCRIPTION>EX-101.SCH
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--XBRL document created with Toppan Merrill Bridge  10.9.0.3 -->
<!--Based on XBRL 2.1-->
<!--Created on: 2/24/2025 7:05:57 PM-->
<!--Modified on: 2/24/2025 7:05:57 PM-->
<xsd:schema xmlns:us-types="http://fasb.org/us-types/2024" xmlns:xl="http://www.xbrl.org/2003/XLink" xmlns:country="http://xbrl.sec.gov/country/2024" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:sic="http://xbrl.sec.gov/sic/2024" xmlns:stpr="http://xbrl.sec.gov/stpr/2024" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:exch="http://xbrl.sec.gov/exch/2024" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:srt="http://fasb.org/srt/2024" xmlns:naics="http://xbrl.sec.gov/naics/2024" xmlns:currency="http://xbrl.sec.gov/currency/2024" targetNamespace="http://www.innodata-isogen.com/20241231" elementFormDefault="qualified" xmlns:srt-types="http://fasb.org/srt-types/2024" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:inod="http://www.innodata-isogen.com/20241231" xmlns:enum2="http://xbrl.org/2020/extensible-enumerations-2.0" xmlns:us-roles="http://fasb.org/us-roles/2024" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:srt-roles="http://fasb.org/srt-roles/2024" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:negated="http://www.xbrl.org/2009/role/negated" xmlns:attributeFormDefault="unqualified" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:deprecated="http://www.xbrl.org/2009/role/deprecated" xmlns:net="http://www.xbrl.org/2009/role/net" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:dtr="http://www.xbrl.org/2009/dtr" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:us-gaap-ebp="http://fasb.org/us-gaap-ebp/2024" xmlns:cyd-af-sub="http://xbrl.sec.gov/cyd-af-sub/2024" xmlns:ecd="http://xbrl.sec.gov/ecd/2024" xmlns:ecd-sub="http://xbrl.sec.gov/ecd-sub/2024" xmlns:cyd="http://xbrl.sec.gov/cyd/2024">
  <xsd:annotation>
    <xsd:appinfo>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureStandardAndCustomAxisDomainDefaults" id="DisclosureStandardAndCustomAxisDomainDefaults">
        <link:definition>99900 - Disclosure - Standard And Custom Axis Domain Defaults</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets" id="StatementConsolidatedBalanceSheets">
        <link:definition>995200100 - Statement - CONSOLIDATED BALANCE SHEETS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2" id="StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2">
        <link:definition>00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (LOSS) - Calc 2</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss" id="StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss">
        <link:definition>995200200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (LOSS)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows" id="StatementConsolidatedStatementsOfCashFlows">
        <link:definition>995200400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesStockBasedCompensationDetails" id="DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesStockBasedCompensationDetails">
        <link:definition>99940102 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies - Stock-based compensation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails" id="DisclosureAccountsReceivableDetails">
        <link:definition>99940201 - Disclosure - 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://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails" id="DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails">
        <link:definition>99940301 - Disclosure - Property and equipment - Property and equipment (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails" id="DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails">
        <link:definition>99940403 - Disclosure - Goodwill and Intangible Assets - Estimated 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://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails" id="DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails">
        <link:definition>99940501 - Disclosure - Income Taxes - Components of provision for income taxes (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails" id="DisclosureIncomeTaxesTaxRateReconciliationDetails">
        <link:definition>99940502 - Disclosure - Income Taxes - Tax rate reconciliation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" id="DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails">
        <link:definition>99940503 - Disclosure - Income Taxes - Deferred tax assets and liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnitedStatesAndForeignComponentsOfIncomeLossDetails" id="DisclosureIncomeTaxesUnitedStatesAndForeignComponentsOfIncomeLossDetails">
        <link:definition>99940504 - Disclosure - Income Taxes - United States and foreign components of income (loss) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails" id="DisclosureLongTermObligationsDetails">
        <link:definition>99940601 - Disclosure - Long-term obligations (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetailsCalc2" id="DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetailsCalc2">
        <link:definition>40603 - Disclosure - Operating Leases - Net present value of the operating lease liability (Details) Calc 2</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetailsCalc2" id="DisclosureLongTermObligationsDetailsCalc2">
        <link:definition>40702 - Disclosure - Long-term obligations (Details) Calc 2</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails" id="DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails">
        <link:definition>99940803 - Disclosure - Operating Leases - Net present value of the operating 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://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails" id="DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails">
        <link:definition>99940902 - Disclosure - Pension Benefits - Components of Net Periodic Pension Cost (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsRecognizedInBalanceSheetsDetails" id="DisclosurePensionBenefitsRecognizedInBalanceSheetsDetails">
        <link:definition>99940903 - Disclosure - Pension Benefits - Recognized in balance sheets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails" id="DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails">
        <link:definition>99940905 - Disclosure - Pension Benefits - Estimated future benefit payments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails" id="DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails">
        <link:definition>99941402 - Disclosure - Segment reporting and concentrations-significant income statement (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareDetails" id="DisclosureIncomeLossPerShareDetails">
        <link:definition>99941501 - Disclosure - Income (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://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation" id="DocumentDocumentAndEntityInformation">
        <link:definition>995200090 - Document - Document and Entity Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheetsParenthetical" id="StatementConsolidatedBalanceSheetsParenthetical">
        <link:definition>995200105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity" id="StatementConsolidatedStatementsOfStockholdersEquity">
        <link:definition>995200300 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsTables" id="DisclosureStockOptionsTables">
        <link:definition>99931103 - 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://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails" id="DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails">
        <link:definition>99940101 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails" id="DisclosurePropertyAndEquipmentAdditionalInformationDetails">
        <link:definition>99940302 - Disclosure - Property and equipment - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingAmountOfGoodwillDetails" id="DisclosureGoodwillAndIntangibleAssetsChangesInCarryingAmountOfGoodwillDetails">
        <link:definition>99940401 - Disclosure - Goodwill and Intangible Assets - Changes in carrying amount of goodwill (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails" id="DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails">
        <link:definition>99940402 - Disclosure - Goodwill and Intangible Assets - Acquisition-related intangible assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails" id="DisclosureGoodwillAndIntangibleAssetsDetails">
        <link:definition>99940404 - Disclosure - Goodwill and Intangible Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails" id="DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails">
        <link:definition>99940505 - Disclosure - Income Taxes - Unrecognized tax benefits (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails" id="DisclosureIncomeTaxesDetails">
        <link:definition>99940506 - Disclosure - Income Taxes (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingenciesDetails" id="DisclosureCommitmentsAndContingenciesDetails">
        <link:definition>99940701 - Disclosure - Commitments and Contingencies (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails" id="DisclosureOperatingLeasesDetails">
        <link:definition>99940801 - Disclosure - Operating Leases (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails" id="DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails">
        <link:definition>99940802 - Disclosure - Operating Leases - Financial statements related to operating leases (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsBenefitObligationsDetails" id="DisclosurePensionBenefitsBenefitObligationsDetails">
        <link:definition>99940901 - Disclosure - Pension Benefits - Benefit Obligations (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails" id="DisclosurePensionBenefitsActuarialAssumptionsDetails">
        <link:definition>99940904 - Disclosure - Pension Benefits - Actuarial assumptions (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails" id="DisclosurePensionBenefitsAdditionalInformationDetails">
        <link:definition>99940906 - Disclosure - Pension Benefits - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails" id="DisclosureCapitalStockDetails">
        <link:definition>99941001 - Disclosure - Capital Stock (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails" id="DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails">
        <link:definition>99941101 - Disclosure - Stock Options - Weighted Average Fair Values and Assumptions (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails" id="DisclosureStockOptionsSummaryOfStockOptionActivityDetails">
        <link:definition>99941102 - Disclosure - Stock Options - Summary of Stock Option Activity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails" id="DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails">
        <link:definition>99941103 - Disclosure - Stock Options - Summary of stock option and Restricted Stock option activity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails" id="DisclosureStockOptionsAdditionalInformationDetails">
        <link:definition>99941104 - Disclosure - Stock Options - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureRedemptionOfNonControllingInterestDetails" id="DisclosureRedemptionOfNonControllingInterestDetails">
        <link:definition>99941201 - Disclosure - Redemption of non-controlling interest (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails" id="DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails">
        <link:definition>99941301 - Disclosure - Comprehensive loss - Reclassifications from accumulated other comprehensive loss (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails" id="DisclosureSegmentReportingAndConcentrationsDetails">
        <link:definition>99941401 - Disclosure - Segment reporting and concentrations (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails" id="DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails">
        <link:definition>99941403 - Disclosure - Segment reporting and concentrations - Long-lived assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails" id="DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails">
        <link:definition>99941404 - Disclosure - Segment reporting and concentrations - Revenues by geographic region (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails" id="DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails">
        <link:definition>99941405 - Disclosure - Segment reporting and concentrations - Additional information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareAdditionalInformationDetails" id="DisclosureIncomeLossPerShareAdditionalInformationDetails">
        <link:definition>99941502 - Disclosure - Income (loss) per Share - Additional information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureDerivativesAdditionalInformationDetails" id="DisclosureDerivativesAdditionalInformationDetails">
        <link:definition>99941601 - Disclosure - Derivatives - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails" id="DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails">
        <link:definition>99941602 - Disclosure - Derivatives - Fair value of derivative instruments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureDerivativesContractsDesignatedAsCashFlowHedgesDetails" id="DisclosureDerivativesContractsDesignatedAsCashFlowHedgesDetails">
        <link:definition>99941603 - Disclosure - Derivatives - Contracts designated as cash flow hedges (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails" id="DisclosureLineOfCreditDetails">
        <link:definition>99941701 - Disclosure - Line Of Credit (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPolicies" id="DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPolicies">
        <link:definition>995210101 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureAccountsReceivable" id="DisclosureAccountsReceivable">
        <link:definition>995210201 - 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://www.innodata-isogen.com/role/DisclosurePropertyAndEquipment" id="DisclosurePropertyAndEquipment">
        <link:definition>995210301 - Disclosure - Property and equipment</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssets" id="DisclosureGoodwillAndIntangibleAssets">
        <link:definition>995210401 - 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://www.innodata-isogen.com/role/DisclosureIncomeTaxes" id="DisclosureIncomeTaxes">
        <link:definition>995210501 - Disclosure - Income Taxes</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureLongTermObligations" id="DisclosureLongTermObligations">
        <link:definition>995210601 - Disclosure - Long-term obligations</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingencies" id="DisclosureCommitmentsAndContingencies">
        <link:definition>995210701 - Disclosure - Commitments and Contingencies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeases" id="DisclosureOperatingLeases">
        <link:definition>995210801 - Disclosure - Operating Leases</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefits" id="DisclosurePensionBenefits">
        <link:definition>995210901 - Disclosure - Pension Benefits</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureCapitalStock" id="DisclosureCapitalStock">
        <link:definition>995211001 - 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://www.innodata-isogen.com/role/DisclosureStockOptions" id="DisclosureStockOptions">
        <link:definition>995211101 - 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://www.innodata-isogen.com/role/DisclosureRedemptionOfNonControllingInterest" id="DisclosureRedemptionOfNonControllingInterest">
        <link:definition>995211201 - Disclosure - Redemption of non-controlling interest</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureComprehensiveLoss" id="DisclosureComprehensiveLoss">
        <link:definition>995211301 - Disclosure - Comprehensive loss</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrations" id="DisclosureSegmentReportingAndConcentrations">
        <link:definition>995211401 - Disclosure - Segment reporting and concentrations</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShare" id="DisclosureIncomeLossPerShare">
        <link:definition>995211501 - Disclosure - Income (loss) per Share</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureDerivatives" id="DisclosureDerivatives">
        <link:definition>995211601 - Disclosure - Derivatives</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureLineOfCredit" id="DisclosureLineOfCredit">
        <link:definition>995211701 - 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://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies" id="DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies">
        <link:definition>99920102 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesTables" id="DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesTables">
        <link:definition>99930103 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableTables" id="DisclosureAccountsReceivableTables">
        <link:definition>99930203 - 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://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentTables" id="DisclosurePropertyAndEquipmentTables">
        <link:definition>99930303 - Disclosure - Property and equipment (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsTables" id="DisclosureGoodwillAndIntangibleAssetsTables">
        <link:definition>99930403 - 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://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables" id="DisclosureIncomeTaxesTables">
        <link:definition>99930503 - Disclosure - Income Taxes (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsTables" id="DisclosureLongTermObligationsTables">
        <link:definition>99930603 - Disclosure - Long-term obligations (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesTables" id="DisclosureOperatingLeasesTables">
        <link:definition>99930803 - Disclosure - Operating Leases (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsTables" id="DisclosurePensionBenefitsTables">
        <link:definition>99930903 - Disclosure - Pension Benefits (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureComprehensiveLossTables" id="DisclosureComprehensiveLossTables">
        <link:definition>99931303 - Disclosure - Comprehensive loss (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsTables" id="DisclosureSegmentReportingAndConcentrationsTables">
        <link:definition>99931403 - Disclosure - Segment reporting and concentrations (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareTables" id="DisclosureIncomeLossPerShareTables">
        <link:definition>99931503 - Disclosure - Income (loss) per Share (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureDerivativesTables" id="DisclosureDerivativesTables">
        <link:definition>99931603 - Disclosure - Derivatives (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDeferredRevenueDetails" id="DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDeferredRevenueDetails">
        <link:definition>99940103 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies - Deferred revenue (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails" id="DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails">
        <link:definition>99940202 - Disclosure - Accounts Receivable - Activity in allowance for credit losses (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesWeightedAverageRemainingLeaseTermsDetails" id="DisclosureOperatingLeasesWeightedAverageRemainingLeaseTermsDetails">
        <link:definition>99940804 - Disclosure - Operating Leases - Weighted average remaining lease terms (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:linkbaseRef xlink:type="simple" xlink:href="inod-20241231_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="inod-20241231_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="inod-20241231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="inod-20241231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
    </xsd:appinfo>
  </xsd:annotation>
  <xsd:import namespace="https://xbrl.org/2023/calculation-1.1" schemaLocation="https://www.xbrl.org/2023/calculation-1.1.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/ecd/2024" schemaLocation="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/dei/2024" schemaLocation="https://xbrl.sec.gov/dei/2024/dei-2024.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
  <xsd:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd" />
  <xsd:import namespace="http://www.xbrl.org/dtr/type/2022-03-31" schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd" />
  <xsd:import namespace="http://fasb.org/us-roles/2024" schemaLocation="https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.xsd" />
  <xsd:import namespace="http://fasb.org/us-gaap/2024" schemaLocation="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd" />
  <xsd:import namespace="http://fasb.org/srt/2024" schemaLocation="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/country/2024" schemaLocation="https://xbrl.sec.gov/country/2024/country-2024.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/stpr/2024" schemaLocation="https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/ecd-sub/2024" schemaLocation="https://xbrl.sec.gov/ecd/2024/ecd-sub-2024.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/cyd/2024" schemaLocation="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/cyd-af-sub/2024" schemaLocation="https://xbrl.sec.gov/cyd/2024/cyd-af-sub-2024.xsd" />
  <xsd:element id="inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock" name="ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock" name="ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element name="DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" id="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" id="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="SubsidiaryAxis" id="inod_SubsidiaryAxis" type="xbrli:stringItemType" substitutionGroup="xbrldt:dimensionItem" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="NameOfSubsidiaryDomain" id="inod_NameOfSubsidiaryDomain" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="SynodexMember" id="inod_SynodexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="IncomeTaxesLineItems" id="inod_IncomeTaxesLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element id="inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation" name="UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="inod_InterestRateDescriptionLitigation" name="InterestRateDescriptionLitigation" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element name="LongTermOperatingLeaseMember" id="inod_LongTermOperatingLeaseMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ShortTermOperatingLeaseMember" id="inod_ShortTermOperatingLeaseMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element id="inod_PercentageOfRentalEscalations" name="PercentageOfRentalEscalations" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element name="LongTermObligationsAbstract" id="inod_LongTermObligationsAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="MicrosoftLicensesObligations" id="inod_MicrosoftLicensesObligations" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" />
  <xsd:element name="DdsMember" id="inod_DdsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="AgilityMember" id="inod_AgilityMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ReportableSegmentDisclosureAxis" id="inod_ReportableSegmentDisclosureAxis" type="xbrli:stringItemType" substitutionGroup="xbrldt:dimensionItem" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ReportableSegmentDisclosureDomain" id="inod_ReportableSegmentDisclosureDomain" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="OtherPrincipallyEuropeMember" id="inod_OtherPrincipallyEuropeMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="AllCountriesAxis" id="inod_AllCountriesAxis" type="xbrli:stringItemType" substitutionGroup="xbrldt:dimensionItem" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ForeignCountriesMember" id="inod_ForeignCountriesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ForeignCustomerMember" id="inod_ForeignCustomerMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ClientMember" id="inod_ClientMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ThreeClientsMember" id="inod_ThreeClientsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ScheduleOfEarningsPerShareBasicAndDilutedTable" id="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element id="inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid" name="DeferredTaxAssetsExpensesNotDeductibleUntilPaid" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="inod_IncomeTaxesTable" name="IncomeTaxesTable" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="inod_DefinedBenefitPlanExpectedFutureBenefitPayments" name="DefinedBenefitPlanExpectedFutureBenefitPayments" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible" name="DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="inod_NumberOfVotesForEachShareOfCommonStock" name="NumberOfVotesForEachShareOfCommonStock" nillable="true" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" name="TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="inod_TwoThousandThirteenStockPlanMember" name="TwoThousandThirteenStockPlanMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp" name="EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="inod_NumberOfClient" name="NumberOfClient" nillable="true" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="inod_OneClientMember" name="OneClientMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter" name="FiniteLivedIntangibleAssetExpectedAmortizationThereafter" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" abstract="false" />
  <xsd:element id="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter" name="LesseeOperatingLeaseLiabilityToBePaidThereafter" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" name="EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element name="CapitalizedSoftwareDevelopmentCostWorkInProgressMember" id="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="CapitalizedSoftwareDevelopmentCostMember" id="inod_CapitalizedSoftwareDevelopmentCostMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="EquityPlansMember" id="inod_EquityPlansMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="TwoThousandTwentyOneEquityCompensationPlanMember" id="inod_TwoThousandTwentyOneEquityCompensationPlanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="RedemptionOfNonControllingInterestAbstract" id="inod_RedemptionOfNonControllingInterestAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="RedemptionOfNonControllingInterestTextBlock" id="inod_RedemptionOfNonControllingInterestTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="NoncontrollingInterestRedemptionPercentageByParent" id="inod_NoncontrollingInterestRedemptionPercentageByParent" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" />
  <xsd:element name="StockOptionsTable" id="inod_StockOptionsTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="StockOptionsLineItems" id="inod_StockOptionsLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="July2019Member" id="inod_July2019Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="VendorFinancedSoftwareLicensesAcquired" id="inod_VendorFinancedSoftwareLicensesAcquired" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="credit" />
  <xsd:element name="LongTermObligationsDisclosureTextBlock" id="inod_LongTermObligationsDisclosureTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="LongTermObligationsDisclosureTableTextBlock" id="inod_LongTermObligationsDisclosureTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="TotalLongTermObligations" id="inod_TotalLongTermObligations" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="CurrentPortionOfLongTermObligations" id="inod_CurrentPortionOfLongTermObligations" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="NoncurrentPortionOfLongTermObligations" id="inod_NoncurrentPortionOfLongTermObligations" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="LicensesObligationsAmountPayableAnnually" id="inod_LicensesObligationsAmountPayableAnnually" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="AcquiredIntangibleAssetsMember" id="inod_AcquiredIntangibleAssetsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" id="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="debit" />
  <xsd:element name="LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" id="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" />
  <xsd:element name="LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" id="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" />
  <xsd:element name="LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" id="inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" id="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses" id="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="TwoClientMember" id="inod_TwoClientMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="EffectiveIncomeTaxRateReconciliationSection162Percentage" id="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage" id="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent" id="inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="CanadianSubsidiariesMember" id="inod_CanadianSubsidiariesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights" id="inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" />
  <xsd:element name="ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio" id="inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" />
  <xsd:element name="TwoThousandTwentyOneEquityCompensationPlanOtherMember" id="inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="AwardsGrantedPriorToApril112022Member" id="inod_AwardsGrantedPriorToApril112022Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="AwardsGrantedOnOrAfterApril112022Member" id="inod_AwardsGrantedOnOrAfterApril112022Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="GermanAndUnitedKingdomSubsidiariesMember" id="inod_GermanAndUnitedKingdomSubsidiariesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" id="inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" />
  <xsd:element name="LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" id="inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" />
  <xsd:element name="LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" id="inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" />
  <xsd:element name="LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender" id="inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearTen" id="inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearTen" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="NonEmployeeMember" id="inod_NonEmployeeMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInUnrecognizedTaxBenefits" id="inod_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInUnrecognizedTaxBenefits" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsAmortizationOfIntangibleAssets" id="inod_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsAmortizationOfIntangibleAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>12
<FILENAME>inod-20241231_cal.xml
<DESCRIPTION>EX-101.CAL
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--XBRL document created with Toppan Merrill Bridge  10.9.0.3 -->
<!--Based on XBRL 2.1-->
<!--Created on: 2/24/2025 7:05:57 PM-->
<!--Modified on: 2/24/2025 7:05:57 PM-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#StatementConsolidatedBalanceSheets" roleURI="http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2" roleURI="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss" roleURI="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#StatementConsolidatedStatementsOfCashFlows" roleURI="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesStockBasedCompensationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesStockBasedCompensationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureAccountsReceivableDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureIncomeTaxesTaxRateReconciliationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureIncomeTaxesUnitedStatesAndForeignComponentsOfIncomeLossDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnitedStatesAndForeignComponentsOfIncomeLossDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureLongTermObligationsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetailsCalc2" roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetailsCalc2" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureLongTermObligationsDetailsCalc2" roleURI="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetailsCalc2" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosurePensionBenefitsRecognizedInBalanceSheetsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsRecognizedInBalanceSheetsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureIncomeLossPerShareDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareDetails" />
  <link:arcroleRef arcroleURI="https://xbrl.org/2023/arcrole/summation-item" xlink:type="simple" xlink:href="https://www.xbrl.org/2023/calculation-1.1.xsd#summation-item" />
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets" xlink:type="extended" xlink:title="995200100 - 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_Assets" xlink:label="loc_us-gaap_Assets" />
    <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_638760207537942854" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_AssetsCurrent_638760207537942854" order="1" use="optional" weight="1" />
    <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_638760207537942854" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638760207537942854" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638760207537942854" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherShortTermInvestments" xlink:label="us-gaap_OtherShortTermInvestments_638760207537942854" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638760207537942854" xlink:to="us-gaap_OtherShortTermInvestments_638760207537942854" order="2" use="optional" 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="us-gaap_AccountsReceivableNetCurrent_638760207537952855" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638760207537942854" xlink:to="us-gaap_AccountsReceivableNetCurrent_638760207537952855" order="3" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638760207537952855" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638760207537942854" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638760207537952855" order="4" use="optional" 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="us-gaap_PropertyPlantAndEquipmentNet_638760207537952855" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_638760207537952855" order="2" use="optional" 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="us-gaap_OperatingLeaseRightOfUseAsset_638760207537952855" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_638760207537952855" order="3" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_638760207537952855" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_OtherAssetsNoncurrent_638760207537952855" order="4" use="optional" 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="us-gaap_DeferredIncomeTaxAssetsNet_638760207537952855" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_638760207537952855" order="5" use="optional" weight="1" priority="2" />
    <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_638760207537962829" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_638760207537962829" order="6" use="optional" 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="us-gaap_Goodwill_638760207537962829" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_Goodwill_638760207537962829" order="7" use="optional" 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-gaap_LiabilitiesAndStockholdersEquity" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount" xlink:label="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount_638760207537962829" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount_638760207537962829" order="1" use="optional" 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="us-gaap_StockholdersEquity_638760207537962829" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquity_638760207537962829" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityBeforeTreasuryStock" xlink:label="us-gaap_StockholdersEquityBeforeTreasuryStock_638760207537962829" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638760207537962829" xlink:to="us-gaap_StockholdersEquityBeforeTreasuryStock_638760207537962829" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue_638760207537962829" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityBeforeTreasuryStock_638760207537962829" xlink:to="us-gaap_PreferredStockValue_638760207537962829" order="1" use="optional" weight="1" />
    <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_638760207537972832" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityBeforeTreasuryStock_638760207537962829" xlink:to="us-gaap_CommonStockValue_638760207537972832" order="2" use="optional" 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="us-gaap_AdditionalPaidInCapital_638760207537972832" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityBeforeTreasuryStock_638760207537962829" xlink:to="us-gaap_AdditionalPaidInCapital_638760207537972832" order="3" use="optional" 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="us-gaap_RetainedEarningsAccumulatedDeficit_638760207537972832" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityBeforeTreasuryStock_638760207537962829" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_638760207537972832" order="4" use="optional" 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="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638760207537972832" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityBeforeTreasuryStock_638760207537962829" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638760207537972832" order="5" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue_638760207537972832" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638760207537962829" xlink:to="us-gaap_TreasuryStockValue_638760207537972832" order="2" use="optional" 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="us-gaap_Liabilities_638760207537982828" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities_638760207537982828" order="3" use="optional" weight="1" priority="2" />
    <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_638760207537982828" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638760207537982828" xlink:to="us-gaap_LiabilitiesCurrent_638760207537982828" order="1" use="optional" weight="1" priority="1" />
    <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_638760207537982828" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638760207537982828" xlink:to="us-gaap_AccountsPayableCurrent_638760207537982828" order="1" use="optional" 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="us-gaap_AccruedLiabilitiesCurrent_638760207537982828" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638760207537982828" xlink:to="us-gaap_AccruedLiabilitiesCurrent_638760207537982828" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_638760207537982828" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638760207537982828" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent_638760207537982828" order="3" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_638760207537992826" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638760207537982828" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_638760207537992826" order="4" use="optional" 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="us-gaap_TaxesPayableCurrent_638760207537992826" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638760207537982828" xlink:to="us-gaap_TaxesPayableCurrent_638760207537992826" order="5" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_CurrentPortionOfLongTermObligations" xlink:label="inod_CurrentPortionOfLongTermObligations_638760207537992826" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638760207537982828" xlink:to="inod_CurrentPortionOfLongTermObligations_638760207537992826" order="6" use="optional" 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="us-gaap_OperatingLeaseLiabilityCurrent_638760207537992826" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638760207537982828" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638760207537992826" order="7" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_NoncurrentPortionOfLongTermObligations" xlink:label="inod_NoncurrentPortionOfLongTermObligations_638760207537992826" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638760207537982828" xlink:to="inod_NoncurrentPortionOfLongTermObligations_638760207537992826" order="2" use="optional" 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="us-gaap_OperatingLeaseLiabilityNoncurrent_638760207538002827" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638760207537982828" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638760207538002827" order="3" use="optional" weight="1" priority="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="us-gaap_DeferredIncomeTaxLiabilitiesNet_638760207538002827" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638760207537982828" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_638760207538002827" order="4" use="optional" weight="1" priority="1" />
    <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_638760207538002827" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_CommitmentsAndContingencies_638760207538002827" order="4" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2" xlink:type="extended" xlink:title="00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND  COMPREHENSIVE INCOME (LOSS) - Calc 2">
    <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: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_638760207538012832" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_638760207538012832" order="1" use="optional" 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="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638760207538012832" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638760207538012832" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax_638760207538012832" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638760207538012832" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTax_638760207538012832" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_638760207538012832" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTax_638760207538012832" xlink:to="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_638760207538012832" order="1" use="optional" 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="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_638760207538012832" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTax_638760207538012832" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_638760207538012832" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_638760207538012832" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTax_638760207538012832" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_638760207538012832" order="3" use="optional" 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="us-gaap_ProfitLoss_638760207538012832" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638760207538012832" xlink:to="us-gaap_ProfitLoss_638760207538012832" order="2" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss" xlink:type="extended" xlink:title="995200200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (LOSS)">
    <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: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_638760207538022827" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_638760207538022827" order="1" use="optional" 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="us-gaap_ProfitLoss_638760207538022827" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_ProfitLoss_638760207538022827" order="2" use="optional" 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="us-gaap_IncomeTaxExpenseBenefit_638760207538022827" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_ProfitLoss_638760207538022827" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638760207538022827" order="1" use="optional" 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="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638760207538022827" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_ProfitLoss_638760207538022827" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638760207538022827" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostsAndExpenses" xlink:label="us-gaap_CostsAndExpenses_638760207538022827" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638760207538022827" xlink:to="us-gaap_CostsAndExpenses_638760207538022827" order="1" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_638760207538022827" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CostsAndExpenses_638760207538022827" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_638760207538022827" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet_638760207538032832" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CostsAndExpenses_638760207538022827" xlink:to="us-gaap_InterestIncomeExpenseNonoperatingNet_638760207538032832" order="2" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DirectOperatingCosts" xlink:label="us-gaap_DirectOperatingCosts_638760207538032832" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CostsAndExpenses_638760207538022827" xlink:to="us-gaap_DirectOperatingCosts_638760207538032832" order="3" use="optional" weight="1" />
    <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_638760207538032832" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638760207538022827" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638760207538032832" order="2" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows" xlink:type="extended" xlink:title="995200400 - 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638760207538032832" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638760207538032832" order="1" use="optional" weight="1" priority="2" />
    <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_638760207538032832" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_638760207538032832" order="2" use="optional" weight="1" priority="2" />
    <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_638760207538042834" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638760207538032832" xlink:to="us-gaap_RepaymentsOfLongTermDebt_638760207538042834" order="1" use="optional" weight="-1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_638760207538042834" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638760207538032832" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_638760207538042834" order="2" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_638760207538042834" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638760207538032832" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_638760207538042834" order="3" use="optional" 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="us-gaap_NetCashProvidedByUsedInInvestingActivities_638760207538042834" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_638760207538042834" order="3" use="optional" weight="1" priority="2" />
    <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_638760207538042834" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638760207538042834" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638760207538042834" order="1" use="optional" weight="-1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForProceedsFromShortTermInvestments" xlink:label="us-gaap_PaymentsForProceedsFromShortTermInvestments_638760207538042834" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638760207538042834" xlink:to="us-gaap_PaymentsForProceedsFromShortTermInvestments_638760207538042834" order="2" use="optional" weight="-1" />
    <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_638760207538052831" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_638760207538052831" order="4" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedTaxesPayable_638760207538052831" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638760207538052831" xlink:to="us-gaap_IncreaseDecreaseInAccruedTaxesPayable_638760207538052831" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_638760207538052831" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638760207538052831" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_638760207538052831" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_638760207538052831" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638760207538052831" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_638760207538052831" order="3" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_638760207538052831" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638760207538052831" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets_638760207538052831" order="4" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638760207538052831" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638760207538052831" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638760207538052831" order="5" use="optional" 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="us-gaap_IncreaseDecreaseInAccountsReceivable_638760207538062832" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638760207538052831" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_638760207538062832" order="6" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedContributionPlanIncreaseDecreaseCost" xlink:label="us-gaap_DefinedContributionPlanIncreaseDecreaseCost_638760207538062832" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638760207538052831" xlink:to="us-gaap_DefinedContributionPlanIncreaseDecreaseCost_638760207538062832" order="7" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProvisionForLoanLossesExpensed" xlink:label="us-gaap_ProvisionForLoanLossesExpensed_638760207538062832" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638760207538052831" xlink:to="us-gaap_ProvisionForLoanLossesExpensed_638760207538062832" order="8" use="optional" 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="us-gaap_ShareBasedCompensation_638760207538062832" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638760207538052831" xlink:to="us-gaap_ShareBasedCompensation_638760207538062832" order="9" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_638760207538062832" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638760207538052831" xlink:to="us-gaap_DepreciationDepletionAndAmortization_638760207538062832" order="10" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_638760207538062832" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638760207538052831" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCredits_638760207538062832" order="11" use="optional" 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="us-gaap_ProfitLoss_638760207538072832" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638760207538052831" xlink:to="us-gaap_ProfitLoss_638760207538072832" order="12" use="optional" 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="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_638760207538122844" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638760207538052831" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_638760207538122844" order="13" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesStockBasedCompensationDetails" xlink:type="extended" xlink:title="99940102 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies - 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_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherSellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_OtherSellingGeneralAndAdministrativeExpense_638760207538132873" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_OtherSellingGeneralAndAdministrativeExpense_638760207538132873" order="1" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockOptionPlanExpense" xlink:label="us-gaap_StockOptionPlanExpense_638760207538132873" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_StockOptionPlanExpense_638760207538132873" order="2" use="optional" weight="1" priority="2" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails" xlink:type="extended" xlink:title="99940201 - Disclosure - Accounts Receivable (Details)">
    <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:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent_638760207538132873" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableGrossCurrent_638760207538132873" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638760207538132873" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638760207538132873" order="2" use="optional" weight="-1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails" xlink:type="extended" xlink:title="99940301 - Disclosure - Property and equipment - Property and equipment (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_638760207538142846" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_638760207538142846" order="1" use="optional" weight="-1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_638760207538142846" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_638760207538142846" order="2" use="optional" weight="1" priority="2" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails" xlink:type="extended" xlink:title="99940403 - Disclosure - Goodwill and Intangible Assets - Estimated amortization expense (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="us-gaap_FiniteLivedIntangibleAssetsNet" />
    <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_638760207538142846" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_638760207538142846" order="1" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter" xlink:label="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter_638760207538142846" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter_638760207538142846" order="2" use="optional" weight="1" priority="2" />
    <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_638760207538152842" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_638760207538152842" order="3" use="optional" weight="1" priority="2" />
    <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_638760207538152842" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_638760207538152842" order="4" use="optional" weight="1" priority="2" />
    <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_638760207538152842" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_638760207538152842" order="5" use="optional" weight="1" />
    <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_638760207538152842" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_638760207538152842" order="6" use="optional" weight="1" priority="2" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails" xlink:type="extended" xlink:title="99940501 - Disclosure - Income Taxes - Components of provision for income taxes (Details)">
    <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_637048505953988905" />
    <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_638760207538152842" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit_637048505953988905" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_638760207538152842" order="1" use="optional" 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="us-gaap_CurrentForeignTaxExpenseBenefit_638760207538162842" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit_638760207538152842" xlink:to="us-gaap_CurrentForeignTaxExpenseBenefit_638760207538162842" order="1" use="optional" weight="1" />
    <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_638760207538162842" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit_638760207538152842" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit_638760207538162842" order="2" use="optional" 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="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_638760207538162842" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit_638760207538152842" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_638760207538162842" order="3" use="optional" 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="us-gaap_DeferredIncomeTaxExpenseBenefit_638760207538162842" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit_637048505953988905" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_638760207538162842" order="2" use="optional" 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="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_638760207538162842" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit_638760207538162842" xlink:to="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_638760207538162842" order="1" use="optional" weight="1" />
    <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_638760207538162842" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit_638760207538162842" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_638760207538162842" order="2" use="optional" 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="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_638760207538172835" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit_638760207538162842" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_638760207538172835" order="3" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails" xlink:type="extended" xlink:title="99940502 - Disclosure - Income Taxes - Tax rate reconciliation (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_EffectiveIncomeTaxRateReconciliationSection162Percentage" xlink:label="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage_638760207538172835" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage_638760207538172835" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent_638760207538172835" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent_638760207538172835" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign_638760207538172835" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign_638760207538172835" order="3" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp" xlink:label="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp_638760207538172835" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp_638760207538172835" order="4" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses" xlink:label="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses_638760207538172835" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses_638760207538172835" order="5" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage" xlink:label="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage_638760207538182842" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage_638760207538182842" order="6" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_638760207538182842" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_638760207538182842" order="7" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent" xlink:label="inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent_638760207538182842" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent_638760207538182842" order="8" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" xlink:label="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent_638760207538182842" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent_638760207538182842" order="9" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_638760207538182842" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_638760207538182842" order="10" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_638760207538182842" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_638760207538182842" order="11" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInUnrecognizedTaxBenefits" xlink:label="inod_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInUnrecognizedTaxBenefits_638760207538192836" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="inod_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInUnrecognizedTaxBenefits_638760207538192836" order="12" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_638760207538192836" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_638760207538192836" order="13" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_638760207538192836" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_638760207538192836" order="14" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_638760207538192836" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_638760207538192836" order="15" use="optional" weight="1" />
    <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_638760207538192836" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_638760207538192836" order="16" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="extended" xlink:title="99940503 - Disclosure - Income Taxes - Deferred tax assets and liabilities (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_637048505954058952" />
    <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_638760207538202840" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet_637048505954058952" xlink:to="us-gaap_DeferredTaxAssetsNet_638760207538202840" order="1" use="optional" weight="1" />
    <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_638760207538202840" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet_638760207538202840" xlink:to="us-gaap_DeferredTaxAssetsGross_638760207538202840" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals_638760207538202840" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638760207538202840" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals_638760207538202840" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_638760207538202840" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638760207538202840" xlink:to="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_638760207538202840" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits_638760207538202840" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638760207538202840" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits_638760207538202840" order="3" use="optional" weight="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="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_638760207538212837" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638760207538202840" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_638760207538212837" order="4" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_638760207538212837" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638760207538202840" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_638760207538212837" order="5" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid" xlink:label="inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid_638760207538212837" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638760207538202840" xlink:to="inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid_638760207538212837" order="6" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="us-gaap_DeferredTaxAssetsOther_638760207538212837" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638760207538202840" xlink:to="us-gaap_DeferredTaxAssetsOther_638760207538212837" order="7" use="optional" 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="us-gaap_DeferredTaxAssetsValuationAllowance_638760207538212837" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet_638760207538202840" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_638760207538212837" order="2" use="optional" 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="us-gaap_DeferredIncomeTaxLiabilities_638760207538212837" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet_637048505954058952" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_638760207538212837" order="2" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_638760207538222841" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities_638760207538212837" xlink:to="us-gaap_DeferredTaxLiabilitiesOther_638760207538222841" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsAmortizationOfIntangibleAssets" xlink:label="inod_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsAmortizationOfIntangibleAssets_638760207538222841" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities_638760207538212837" xlink:to="inod_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsAmortizationOfIntangibleAssets_638760207538222841" order="2" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnitedStatesAndForeignComponentsOfIncomeLossDetails" xlink:type="extended" xlink:title="99940504 - Disclosure - Income Taxes - United States and foreign components of income (loss) (Details)">
    <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_1" />
    <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_638760207538222841" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_1" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_638760207538222841" order="1" use="optional" weight="1" />
    <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_638760207538222841" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_1" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_638760207538222841" order="2" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails" xlink:type="extended" xlink:title="99940601 - Disclosure - Long-term obligations (Details)">
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_TotalLongTermObligations" xlink:label="inod_TotalLongTermObligations" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent" xlink:label="us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent_638760207538232993" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="inod_TotalLongTermObligations" xlink:to="us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent_638760207538232993" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_MicrosoftLicensesObligations" xlink:label="inod_MicrosoftLicensesObligations_638760207538232993" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="inod_TotalLongTermObligations" xlink:to="inod_MicrosoftLicensesObligations_638760207538232993" order="2" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetailsCalc2" xlink:type="extended" xlink:title="40603 - Disclosure - Operating Leases - Net present value of the operating lease liability (Details) Calc 2">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_638760207538232993" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_1" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_638760207538232993" order="1" use="optional" weight="1" />
    <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_638760207538232993" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_1" xlink:to="us-gaap_OperatingLeaseLiability_638760207538232993" order="2" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetailsCalc2" xlink:type="extended" xlink:title="40702 - Disclosure - Long-term obligations (Details) Calc 2">
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_TotalLongTermObligations" xlink:label="inod_TotalLongTermObligations_2" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_CurrentPortionOfLongTermObligations" xlink:label="inod_CurrentPortionOfLongTermObligations_638760207538242849" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="inod_TotalLongTermObligations_2" xlink:to="inod_CurrentPortionOfLongTermObligations_638760207538242849" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_NoncurrentPortionOfLongTermObligations" xlink:label="inod_NoncurrentPortionOfLongTermObligations_638760207538242849" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="inod_TotalLongTermObligations_2" xlink:to="inod_NoncurrentPortionOfLongTermObligations_638760207538242849" order="2" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails" xlink:type="extended" xlink:title="99940803 - Disclosure - Operating Leases - Net present value of the operating lease liability (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638760207538242849" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638760207538242849" order="1" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638760207538242849" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638760207538242849" order="2" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_638760207538242849" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_638760207538242849" order="3" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638760207538252850" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638760207538252850" order="4" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_638760207538252850" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_638760207538252850" order="5" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LesseeOperatingLeaseLiabilityToBePaidThereafter" xlink:label="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter_638760207538252850" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter_638760207538252850" order="6" use="optional" weight="1" priority="2" />
    <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: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_638760207538252850" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638760207538252850" order="1" use="optional" weight="1" priority="2" />
    <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_638760207538252850" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638760207538252850" order="2" use="optional" weight="1" priority="2" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails" xlink:type="extended" xlink:title="99940902 - Disclosure - Pension Benefits - Components of Net Periodic Pension Cost (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:label="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_637048505954854594" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanServiceCost" xlink:label="us-gaap_DefinedBenefitPlanServiceCost_638760207538262850" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_637048505954854594" xlink:to="us-gaap_DefinedBenefitPlanServiceCost_638760207538262850" order="1" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanInterestCost" xlink:label="us-gaap_DefinedBenefitPlanInterestCost_638760207538262850" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_637048505954854594" xlink:to="us-gaap_DefinedBenefitPlanInterestCost_638760207538262850" order="2" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit" xlink:label="us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit_638760207538262850" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_637048505954854594" xlink:to="us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit_638760207538262850" order="3" use="optional" weight="-1" priority="2" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsRecognizedInBalanceSheetsDetails" xlink:type="extended" xlink:title="99940903 - Disclosure - Pension Benefits - Recognized in balance sheets (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent_637048505954864605" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities_638760207538272851" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent_637048505954864605" xlink:to="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities_638760207538272851" order="1" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent_638760207538272851" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent_637048505954864605" xlink:to="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent_638760207538272851" order="2" use="optional" weight="1" priority="2" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails" xlink:type="extended" xlink:title="99940905 - Disclosure - Pension Benefits - Estimated future benefit payments (Details)">
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_DefinedBenefitPlanExpectedFutureBenefitPayments" xlink:label="inod_DefinedBenefitPlanExpectedFutureBenefitPayments_637048505954904634" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths_638760207538272851" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="inod_DefinedBenefitPlanExpectedFutureBenefitPayments_637048505954904634" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths_638760207538272851" order="1" use="optional" weight="1" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo_638760207538272851" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="inod_DefinedBenefitPlanExpectedFutureBenefitPayments_637048505954904634" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo_638760207538272851" order="2" use="optional" weight="1" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree_638760207538272851" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="inod_DefinedBenefitPlanExpectedFutureBenefitPayments_637048505954904634" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree_638760207538272851" order="3" use="optional" weight="1" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour_638760207538282847" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="inod_DefinedBenefitPlanExpectedFutureBenefitPayments_637048505954904634" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour_638760207538282847" order="4" use="optional" weight="1" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive_638760207538282847" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="inod_DefinedBenefitPlanExpectedFutureBenefitPayments_637048505954904634" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive_638760207538282847" order="5" use="optional" weight="1" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearTen" xlink:label="inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearTen_638760207538282847" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="inod_DefinedBenefitPlanExpectedFutureBenefitPayments_637048505954904634" xlink:to="inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearTen_638760207538282847" order="6" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails" xlink:type="extended" xlink:title="99941402 - Disclosure - Segment reporting and concentrations-significant income statement (Details)">
    <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:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet_638760207538282847" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_InterestIncomeExpenseNonoperatingNet_638760207538282847" order="1" use="optional" 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="us-gaap_OperatingIncomeLoss_638760207538282847" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_OperatingIncomeLoss_638760207538282847" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_638760207538292850" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_638760207538282847" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_638760207538292850" order="1" use="optional" weight="-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="us-gaap_GrossProfit_638760207538292850" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_638760207538282847" xlink:to="us-gaap_GrossProfit_638760207538292850" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DirectOperatingCosts" xlink:label="us-gaap_DirectOperatingCosts_638760207538292850" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_GrossProfit_638760207538292850" xlink:to="us-gaap_DirectOperatingCosts_638760207538292850" order="1" use="optional" weight="-1" />
    <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_638760207538292850" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_GrossProfit_638760207538292850" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638760207538292850" order="2" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareDetails" xlink:type="extended" xlink:title="99941501 - Disclosure - Income (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_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
    <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_638760207538302848" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638760207538302848" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_638760207538302848" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_638760207538302848" order="2" use="optional" weight="1" />
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>13
<FILENAME>inod-20241231_def.xml
<DESCRIPTION>EX-101.DEF
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--XBRL document created with Toppan Merrill Bridge  10.9.0.3 -->
<!--Based on XBRL 2.1-->
<!--Created on: 2/24/2025 7:05:57 PM-->
<!--Modified on: 2/24/2025 7:05:57 PM-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#StatementConsolidatedStatementsOfStockholdersEquity" roleURI="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureStockOptionsTables" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosurePropertyAndEquipmentAdditionalInformationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureGoodwillAndIntangibleAssetsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureIncomeTaxesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureOperatingLeasesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosurePensionBenefitsActuarialAssumptionsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosurePensionBenefitsAdditionalInformationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureCapitalStockDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureStockOptionsSummaryOfStockOptionActivityDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureStockOptionsAdditionalInformationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureRedemptionOfNonControllingInterestDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureRedemptionOfNonControllingInterestDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureSegmentReportingAndConcentrationsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureIncomeLossPerShareAdditionalInformationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureLineOfCreditDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails" />
  <link:arcroleRef arcroleURI="http://www.esma.europa.eu/xbrl/esef/arcrole/wider-narrower" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd#wider-narrower" />
  <link:roleRef roleURI="http://www.innodata-isogen.com/role/DisclosureStandardAndCustomAxisDomainDefaults" xlink:href="inod-20241231.xsd#DisclosureStandardAndCustomAxisDomainDefaults" xlink:type="simple" />
  <link:roleRef xlink:type="simple" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.xsd#eedm" roleURI="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" />
  <link:definitionLink xlink:role="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" xlink:type="extended" xlink:title="Extensible Enumeration Domain Members">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfOtherComprehensiveIncomeAbstract" xlink:label="us-gaap_StatementOfOtherComprehensiveIncomeAbstract" xlink:title="us-gaap_StatementOfOtherComprehensiveIncomeAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_1" xlink:title="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_StatementOfOtherComprehensiveIncomeAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:title="definition:us-gaap_StatementOfOtherComprehensiveIncomeAbstract To us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_1" order="1" priority="0" />
    <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" xlink:title="us-gaap_IncomeStatementAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_2" xlink:title="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_2" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_2" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:title="definition:us-gaap_IncomeStatementAbstract To us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_2" order="2" priority="0" />
    <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_1" xlink:title="us-gaap_IntangibleAssetsNetExcludingGoodwill_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:title="definition:us-gaap_IncomeStatementAbstract To us-gaap_IntangibleAssetsNetExcludingGoodwill_1" order="1" priority="0" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStandardAndCustomAxisDomainDefaults" xlink:type="extended" xlink:title="99900 - Disclosure - Standard And Custom Axis Domain Defaults">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis_1" xlink:title="us-gaap_StatementClassOfStockAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain_1" xlink:title="us-gaap_ClassOfStockDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_StatementClassOfStockAxis_1" xlink:to="us-gaap_ClassOfStockDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_StatementClassOfStockAxis_1 To us-gaap_ClassOfStockDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_1" xlink:title="srt_ProductOrServiceAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_1" xlink:title="srt_ProductsAndServicesDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_ProductOrServiceAxis_1" xlink:to="srt_ProductsAndServicesDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_ProductOrServiceAxis_1 To srt_ProductsAndServicesDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis_1" xlink:title="us-gaap_StatementEquityComponentsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_1" xlink:title="us-gaap_EquityComponentDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_StatementEquityComponentsAxis_1" xlink:to="us-gaap_EquityComponentDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_StatementEquityComponentsAxis_1 To us-gaap_EquityComponentDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementAxis" xlink:label="srt_RestatementAxis_1" xlink:title="srt_RestatementAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementDomain" xlink:label="srt_RestatementDomain_1" xlink:title="srt_RestatementDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_RestatementAxis_1" xlink:to="srt_RestatementDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_RestatementAxis_1 To srt_RestatementDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAxis_1" xlink:title="srt_CumulativeEffectPeriodOfAdoptionAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:label="srt_CumulativeEffectPeriodOfAdoptionDomain_1" xlink:title="srt_CumulativeEffectPeriodOfAdoptionDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_CumulativeEffectPeriodOfAdoptionAxis_1" xlink:to="srt_CumulativeEffectPeriodOfAdoptionDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_CumulativeEffectPeriodOfAdoptionAxis_1 To srt_CumulativeEffectPeriodOfAdoptionDomain_1" order="1" />
    <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_1" xlink:title="us-gaap_IncomeStatementLocationAxis_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="us-gaap_IncomeStatementLocationDomain_1" xlink:title="us-gaap_IncomeStatementLocationDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_IncomeStatementLocationAxis_1" xlink:to="us-gaap_IncomeStatementLocationDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_IncomeStatementLocationAxis_1 To us-gaap_IncomeStatementLocationDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis_1" xlink:title="srt_StatementGeographicalAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_1" xlink:title="srt_SegmentGeographicalDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_StatementGeographicalAxis_1" xlink:to="srt_SegmentGeographicalDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_StatementGeographicalAxis_1 To srt_SegmentGeographicalDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_SubsidiaryAxis" xlink:label="inod_SubsidiaryAxis_1" xlink:title="inod_SubsidiaryAxis_1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_NameOfSubsidiaryDomain" xlink:label="inod_NameOfSubsidiaryDomain_1" xlink:title="inod_NameOfSubsidiaryDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="inod_SubsidiaryAxis_1" xlink:to="inod_NameOfSubsidiaryDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:inod_SubsidiaryAxis_1 To inod_NameOfSubsidiaryDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis_1" xlink:title="us-gaap_BalanceSheetLocationAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_1" xlink:title="us-gaap_BalanceSheetLocationDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_BalanceSheetLocationAxis_1" xlink:to="us-gaap_BalanceSheetLocationDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_BalanceSheetLocationAxis_1 To us-gaap_BalanceSheetLocationDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:label="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis_1" xlink:title="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsForErrorCorrectionDomain" xlink:label="us-gaap_AdjustmentsForErrorCorrectionDomain_1" xlink:title="us-gaap_AdjustmentsForErrorCorrectionDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis_1" xlink:to="us-gaap_AdjustmentsForErrorCorrectionDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis_1 To us-gaap_AdjustmentsForErrorCorrectionDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis_1" xlink:title="srt_OwnershipAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain_1" xlink:title="srt_OwnershipDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_OwnershipAxis_1" xlink:to="srt_OwnershipDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_OwnershipAxis_1 To srt_OwnershipDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_1" xlink:title="us-gaap_StatementBusinessSegmentsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_1" xlink:title="us-gaap_SegmentDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_StatementBusinessSegmentsAxis_1" xlink:to="us-gaap_SegmentDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_StatementBusinessSegmentsAxis_1 To us-gaap_SegmentDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_1" xlink:title="srt_RangeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember_1" xlink:title="srt_RangeMember_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_RangeAxis_1" xlink:to="srt_RangeMember_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_RangeAxis_1 To srt_RangeMember_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1" xlink:title="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember_1" xlink:title="us-gaap_TypeOfAdoptionMember_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1" xlink:to="us-gaap_TypeOfAdoptionMember_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1 To us-gaap_TypeOfAdoptionMember_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:label="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:title="us-gaap_QuantifyingMisstatementInCurrentYearFinancialStatementsByNatureOfErrorAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsForErrorCorrectionDomain" xlink:label="us-gaap_AdjustmentsForErrorCorrectionDomain" xlink:title="us-gaap_NatureOfErrorDomain_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis_1" xlink:title="srt_StatementScenarioAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain_1" xlink:title="srt_ScenarioUnspecifiedDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_StatementScenarioAxis_1" xlink:to="srt_ScenarioUnspecifiedDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_StatementScenarioAxis_1 To srt_ScenarioUnspecifiedDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_1" xlink:title="us-gaap_PropertyPlantAndEquipmentByTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_1" xlink:title="us-gaap_PropertyPlantAndEquipmentTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_1" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_PropertyPlantAndEquipmentByTypeAxis_1 To us-gaap_PropertyPlantAndEquipmentTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1" xlink:title="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" xlink:title="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1 To us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_1" xlink:title="dei_LegalEntityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_1" xlink:title="dei_EntityDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="dei_LegalEntityAxis_1" xlink:to="dei_EntityDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:dei_LegalEntityAxis_1 To dei_EntityDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:label="us-gaap_ChangeInAccountingEstimateByTypeAxis_1" xlink:title="us-gaap_ChangeInAccountingEstimateByTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ChangeInAccountingEstimateTypeDomain" xlink:label="us-gaap_ChangeInAccountingEstimateTypeDomain_1" xlink:title="us-gaap_ChangeInAccountingEstimateTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ChangeInAccountingEstimateByTypeAxis_1" xlink:to="us-gaap_ChangeInAccountingEstimateTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ChangeInAccountingEstimateByTypeAxis_1 To us-gaap_ChangeInAccountingEstimateTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis_1" xlink:title="us-gaap_IncomeTaxAuthorityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain_1" xlink:title="us-gaap_IncomeTaxAuthorityDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_IncomeTaxAuthorityAxis_1" xlink:to="us-gaap_IncomeTaxAuthorityDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_IncomeTaxAuthorityAxis_1 To us-gaap_IncomeTaxAuthorityDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_1" xlink:title="srt_ConsolidatedEntitiesAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_1" xlink:title="srt_ConsolidatedEntitiesDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_ConsolidatedEntitiesAxis_1" xlink:to="srt_ConsolidatedEntitiesDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_ConsolidatedEntitiesAxis_1 To srt_ConsolidatedEntitiesDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxCreditCarryforwardAxis" xlink:label="us-gaap_TaxCreditCarryforwardAxis_1" xlink:title="us-gaap_TaxCreditCarryforwardAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxCreditCarryforwardNameDomain" xlink:label="us-gaap_TaxCreditCarryforwardNameDomain_1" xlink:title="us-gaap_TaxCreditCarryforwardNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_TaxCreditCarryforwardAxis_1" xlink:to="us-gaap_TaxCreditCarryforwardNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_TaxCreditCarryforwardAxis_1 To us-gaap_TaxCreditCarryforwardNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis_1" xlink:title="srt_MajorCustomersAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_1" xlink:title="srt_NameOfMajorCustomerDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_MajorCustomersAxis_1" xlink:to="srt_NameOfMajorCustomerDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_MajorCustomersAxis_1 To srt_NameOfMajorCustomerDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis_1" xlink:title="us-gaap_FairValueByFairValueHierarchyLevelAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1" xlink:title="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis_1" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_FairValueByFairValueHierarchyLevelAxis_1 To us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis_1" xlink:title="srt_LitigationCaseAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain_1" xlink:title="srt_LitigationCaseTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_LitigationCaseAxis_1" xlink:to="srt_LitigationCaseTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_LitigationCaseAxis_1 To srt_LitigationCaseTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:label="us-gaap_OptionIndexedToIssuersEquityEquityAxis_1" xlink:title="us-gaap_OptionIndexedToIssuersEquityEquityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain_1" xlink:title="us-gaap_OptionIndexedToIssuersEquityTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_OptionIndexedToIssuersEquityEquityAxis_1" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_OptionIndexedToIssuersEquityEquityAxis_1 To us-gaap_OptionIndexedToIssuersEquityTypeDomain_1" order="1" />
    <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_1" xlink:title="us-gaap_AwardTypeAxis_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="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" xlink:title="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AwardTypeAxis_1" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_AwardTypeAxis_1 To us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1" xlink:title="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain_1" xlink:title="us-gaap_RelatedPartyDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1" xlink:to="us-gaap_RelatedPartyDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1 To us-gaap_RelatedPartyDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis_1" xlink:title="us-gaap_PlanNameAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_1" xlink:title="us-gaap_PlanNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_PlanNameAxis_1" xlink:to="us-gaap_PlanNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_PlanNameAxis_1 To us-gaap_PlanNameDomain_1" 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="us-gaap_DebtInstrumentAxis_1" xlink:title="us-gaap_DebtInstrumentAxis_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="us-gaap_DebtInstrumentNameDomain_1" xlink:title="us-gaap_DebtInstrumentNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_DebtInstrumentAxis_1" xlink:to="us-gaap_DebtInstrumentNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_DebtInstrumentAxis_1 To us-gaap_DebtInstrumentNameDomain_1" 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="us-gaap_TypeOfArrangementAxis_1" xlink:title="us-gaap_TypeOfArrangementAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember_1" xlink:title="us-gaap_ArrangementsAndNonarrangementTransactionsMember_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_TypeOfArrangementAxis_1" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_TypeOfArrangementAxis_1 To us-gaap_ArrangementsAndNonarrangementTransactionsMember_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis_1" xlink:title="srt_TitleOfIndividualAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_1" xlink:title="srt_TitleOfIndividualWithRelationshipToEntityDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_TitleOfIndividualAxis_1" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_TitleOfIndividualAxis_1 To srt_TitleOfIndividualWithRelationshipToEntityDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ReportableSegmentDisclosureAxis" xlink:label="inod_ReportableSegmentDisclosureAxis_1" xlink:title="inod_ReportableSegmentDisclosureAxis_1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ReportableSegmentDisclosureDomain" xlink:label="inod_ReportableSegmentDisclosureDomain_1" xlink:title="inod_ReportableSegmentDisclosureDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="inod_ReportableSegmentDisclosureAxis_1" xlink:to="inod_ReportableSegmentDisclosureDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:inod_ReportableSegmentDisclosureAxis_1 To inod_ReportableSegmentDisclosureDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsegmentsConsolidationItemsAxis" xlink:label="us-gaap_SubsegmentsConsolidationItemsAxis_1" xlink:title="us-gaap_SubsegmentsConsolidationItemsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsegmentsConsolidationItemsDomain" xlink:label="us-gaap_SubsegmentsConsolidationItemsDomain_1" xlink:title="us-gaap_SubsegmentsConsolidationItemsDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_SubsegmentsConsolidationItemsAxis_1" xlink:to="us-gaap_SubsegmentsConsolidationItemsDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_SubsegmentsConsolidationItemsAxis_1 To us-gaap_SubsegmentsConsolidationItemsDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_AllCountriesAxis" xlink:label="inod_AllCountriesAxis_1" xlink:title="inod_AllCountriesAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_AllCountriesDomain" xlink:label="country_AllCountriesDomain_1" xlink:title="country_AllCountriesDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="inod_AllCountriesAxis_1" xlink:to="country_AllCountriesDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:inod_AllCountriesAxis_1 To country_AllCountriesDomain_1" order="1" />
    <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_1" xlink:title="us-gaap_ConcentrationRiskByBenchmarkAxis_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="us-gaap_ConcentrationRiskBenchmarkDomain_1" xlink:title="us-gaap_ConcentrationRiskBenchmarkDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis_1" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ConcentrationRiskByBenchmarkAxis_1 To us-gaap_ConcentrationRiskBenchmarkDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_1" xlink:title="us-gaap_ConcentrationRiskByTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain_1" xlink:title="us-gaap_ConcentrationRiskTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ConcentrationRiskByTypeAxis_1" xlink:to="us-gaap_ConcentrationRiskTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ConcentrationRiskByTypeAxis_1 To us-gaap_ConcentrationRiskTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1" xlink:title="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_1" xlink:title="us-gaap_AntidilutiveSecuritiesNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1 To us-gaap_AntidilutiveSecuritiesNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityTypeAxis" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeAxis_1" xlink:title="us-gaap_OptionIndexedToIssuersEquityTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain_2" xlink:title="us-gaap_OptionIndexedToIssuersEquityTypeDomain_2" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeAxis_1" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain_2" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_OptionIndexedToIssuersEquityTypeAxis_1 To us-gaap_OptionIndexedToIssuersEquityTypeDomain_2" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis_1" xlink:title="us-gaap_HedgingDesignationAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain_1" xlink:title="us-gaap_HedgingDesignationDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_HedgingDesignationAxis_1" xlink:to="us-gaap_HedgingDesignationDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_HedgingDesignationAxis_1 To us-gaap_HedgingDesignationDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_1" xlink:title="us-gaap_DerivativeInstrumentRiskAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_1" xlink:title="us-gaap_DerivativeContractTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_DerivativeInstrumentRiskAxis_1" xlink:to="us-gaap_DerivativeContractTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_DerivativeInstrumentRiskAxis_1 To us-gaap_DerivativeContractTypeDomain_1" 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="us-gaap_SubsequentEventTypeAxis_1" xlink:title="us-gaap_SubsequentEventTypeAxis_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="us-gaap_SubsequentEventTypeDomain_1" xlink:title="us-gaap_SubsequentEventTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_SubsequentEventTypeAxis_1" xlink:to="us-gaap_SubsequentEventTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_SubsequentEventTypeAxis_1 To us-gaap_SubsequentEventTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis_1" xlink:title="us-gaap_BusinessAcquisitionAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_1" xlink:title="us-gaap_BusinessAcquisitionAcquireeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_BusinessAcquisitionAxis_1" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_BusinessAcquisitionAxis_1 To us-gaap_BusinessAcquisitionAcquireeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_1" xlink:title="srt_ConsolidationItemsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_1" xlink:title="srt_ConsolidationItemsDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_ConsolidationItemsAxis_1" xlink:to="srt_ConsolidationItemsDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_ConsolidationItemsAxis_1 To srt_ConsolidationItemsDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis_1" xlink:title="us-gaap_VariableRateAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain_1" xlink:title="us-gaap_VariableRateDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_VariableRateAxis_1" xlink:to="us-gaap_VariableRateDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_VariableRateAxis_1 To us-gaap_VariableRateDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis_1" xlink:title="us-gaap_CreditFacilityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain_1" xlink:title="us-gaap_CreditFacilityDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_CreditFacilityAxis_1" xlink:to="us-gaap_CreditFacilityDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_CreditFacilityAxis_1 To us-gaap_CreditFacilityDomain_1" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity" xlink:type="extended" xlink:title="995200300 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY">
    <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: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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_638760207538312856" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain_638760207538312856" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AdditionalPaidInCapitalMember" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_TreasuryStockCommonMember" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TreasuryStockCommonShares" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings" xlink:label="us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalOther" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalOther" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalOther" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsTables" xlink:type="extended" xlink:title="99931103 - Disclosure - Stock Options (Tables)">
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_StockOptionsTable" xlink:label="inod_StockOptionsTable" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="inod_StockOptionsTable" xlink:to="us-gaap_AwardTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207538352846" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207538352846" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="inod_StockOptionsTable" xlink:to="us-gaap_PlanNameAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638760207538362862" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain_638760207538362862" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_EquityPlansMember" xlink:label="inod_EquityPlansMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PlanNameDomain" xlink:to="inod_EquityPlansMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_StockOptionsLineItems" xlink:label="inod_StockOptionsLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="inod_StockOptionsLineItems" xlink:to="inod_StockOptionsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="inod_StockOptionsLineItems" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="inod_StockOptionsLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="inod_StockOptionsLineItems" xlink:to="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails" xlink:type="extended" xlink:title="99940101 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies (Details)">
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" xlink:to="srt_StatementGeographicalAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638760207538372857" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain_638760207538372857" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_AsiaMember" xlink:label="srt_AsiaMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_AsiaMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" xlink:to="srt_RangeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638760207538382866" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember_638760207538382866" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638760207538392853" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638760207538392853" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SoftwareDevelopmentMember" xlink:label="us-gaap_SoftwareDevelopmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_SoftwareDevelopmentMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InProcessResearchAndDevelopmentMember" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_InProcessResearchAndDevelopmentMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_NumberOfReportableSegments" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CapitalizedContractCostAmortizationPeriod" xlink:label="us-gaap_CapitalizedContractCostAmortizationPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_CapitalizedContractCostAmortizationPeriod" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:label="us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_GoodwillImpairmentLoss" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenue" xlink:label="us-gaap_DeferredRevenue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_DeferredRevenue" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails" xlink:type="extended" xlink:title="99940301 - Disclosure - Property and equipment - Property and equipment (Details)">
    <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: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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638760207538422854" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638760207538422854" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquipmentMember" xlink:label="us-gaap_EquipmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_EquipmentMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_FurnitureAndFixturesMember" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LeaseholdImprovementsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConstructionInProgressMember" xlink:label="us-gaap_ConstructionInProgressMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_ConstructionInProgressMember" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails" xlink:type="extended" xlink:title="99940302 - Disclosure - Property and equipment - Additional Information (Details)">
    <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: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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638760207538452862" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638760207538452862" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentMember" xlink:label="us-gaap_PropertyPlantAndEquipmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_PropertyPlantAndEquipmentMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="srt_RangeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638760207538452862" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember_638760207538452862" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_DepreciationDepletionAndAmortization" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails" xlink:type="extended" xlink:title="99940402 - Disclosure - Goodwill and Intangible Assets - Acquisition-related intangible assets (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638760207538472865" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638760207538472865" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_AcquiredIntangibleAssetsMember" xlink:label="inod_AcquiredIntangibleAssetsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="inod_AcquiredIntangibleAssetsMember" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="inod_AcquiredIntangibleAssetsMember" xlink:to="us-gaap_DevelopedTechnologyRightsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="inod_AcquiredIntangibleAssetsMember" xlink:to="us-gaap_CustomerRelationshipsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TrademarksAndTradeNamesMember" xlink:label="us-gaap_TrademarksAndTradeNamesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="inod_AcquiredIntangibleAssetsMember" xlink:to="us-gaap_TrademarksAndTradeNamesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PatentsMember" xlink:label="us-gaap_PatentsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="inod_AcquiredIntangibleAssetsMember" xlink:to="us-gaap_PatentsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DatabasesMember" xlink:label="us-gaap_DatabasesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="inod_AcquiredIntangibleAssetsMember" xlink:to="us-gaap_DatabasesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_CapitalizedSoftwareDevelopmentCostMember" xlink:label="inod_CapitalizedSoftwareDevelopmentCostMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:to="inod_CapitalizedSoftwareDevelopmentCostMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember" xlink:label="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:to="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" xlink:label="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails" xlink:type="extended" xlink:title="99940404 - Disclosure - Goodwill and Intangible Assets (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638760207538492859" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638760207538492859" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_AcquiredIntangibleAssetsMember" xlink:label="inod_AcquiredIntangibleAssetsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="inod_AcquiredIntangibleAssetsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_GoodwillImpairmentLoss" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_Goodwill" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_AmortizationOfIntangibleAssets" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails" xlink:type="extended" xlink:title="99940506 - Disclosure - Income Taxes (Details)">
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_IncomeTaxesTable" xlink:label="inod_IncomeTaxesTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="inod_IncomeTaxesTable" xlink:to="us-gaap_IncomeTaxAuthorityAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain_638760207538512859" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain_638760207538512859" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_DomesticCountryMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StateAndLocalJurisdictionMember" xlink:label="us-gaap_StateAndLocalJurisdictionMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_StateAndLocalJurisdictionMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignCountryMember" xlink:label="us-gaap_ForeignCountryMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_ForeignCountryMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="inod_IncomeTaxesTable" xlink:to="srt_ConsolidatedEntitiesAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638760207538522868" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesDomain_638760207538522868" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_CanadianSubsidiariesMember" xlink:label="inod_CanadianSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="inod_CanadianSubsidiariesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_GermanAndUnitedKingdomSubsidiariesMember" xlink:label="inod_GermanAndUnitedKingdomSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="inod_GermanAndUnitedKingdomSubsidiariesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_AgilityMember" xlink:label="inod_AgilityMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="inod_AgilityMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_IncomeTaxesLineItems" xlink:label="inod_IncomeTaxesLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="inod_IncomeTaxesLineItems" xlink:to="inod_IncomeTaxesTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="inod_IncomeTaxesLineItems" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="inod_IncomeTaxesLineItems" xlink:to="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="inod_IncomeTaxesLineItems" xlink:to="us-gaap_OperatingLossCarryforwards" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="inod_IncomeTaxesLineItems" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="inod_IncomeTaxesLineItems" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="inod_IncomeTaxesLineItems" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="inod_IncomeTaxesLineItems" xlink:to="us-gaap_UndistributedEarningsOfForeignSubsidiaries" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="inod_IncomeTaxesLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefits" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="inod_IncomeTaxesLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails" xlink:type="extended" xlink:title="99940801 - Disclosure - Operating Leases (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_LesseeLeaseDescriptionTable" xlink:to="srt_RangeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638760207538552867" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember_638760207538552867" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeLeaseDescriptionTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_PercentageOfRentalEscalations" xlink:label="inod_PercentageOfRentalEscalations" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="inod_PercentageOfRentalEscalations" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails" xlink:type="extended" xlink:title="99940802 - Disclosure - Operating Leases - Financial statements related to operating leases (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_LesseeLeaseDescriptionTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638760207538562866" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638760207538562866" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LongTermOperatingLeaseMember" xlink:label="inod_LongTermOperatingLeaseMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="inod_LongTermOperatingLeaseMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ShortTermOperatingLeaseMember" xlink:label="inod_ShortTermOperatingLeaseMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="inod_ShortTermOperatingLeaseMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeLeaseDescriptionTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_OperatingLeaseExpense" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails" xlink:type="extended" xlink:title="99940904 - Disclosure - Pension Benefits - Actuarial assumptions (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:label="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="srt_RangeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638760207538572869" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember_638760207538572869" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:label="us-gaap_DefinedBenefitPlanDisclosureLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:to="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" xlink:label="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:to="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease" xlink:label="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:to="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails" xlink:type="extended" xlink:title="99940906 - Disclosure - Pension Benefits - Additional Information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:label="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain_638760207538592873" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyDomain_638760207538592873" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="srt_SubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="srt_SubsidiariesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:label="us-gaap_DefinedBenefitPlanDisclosureLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:to="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible" xlink:label="inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:to="inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionExpense" xlink:label="us-gaap_PensionExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:to="us-gaap_PensionExpense" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation" xlink:label="us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:to="us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails" xlink:type="extended" xlink:title="99941001 - Disclosure - Capital Stock (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="us-gaap_ScheduleOfStockByClassTable" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_StatementEquityComponentsAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_638760207538602872" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain_638760207538602872" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_TreasuryStockCommonMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_PlanNameAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638760207538612875" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain_638760207538612875" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_July2019Member" xlink:label="inod_July2019Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PlanNameDomain" xlink:to="inod_July2019Member" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockLineItems" xlink:label="us-gaap_ClassOfStockLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_ScheduleOfStockByClassTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_CommonStockSharesAuthorized" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_NumberOfVotesForEachShareOfCommonStock" xlink:label="inod_NumberOfVotesForEachShareOfCommonStock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="inod_NumberOfVotesForEachShareOfCommonStock" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockDividendsPerShareDeclared" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_CommonStockDividendsPerShareDeclared" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_PreferredStockSharesAuthorized" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StockRepurchaseProgramAuthorizedAmount1" xlink:label="srt_StockRepurchaseProgramAuthorizedAmount1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="srt_StockRepurchaseProgramAuthorizedAmount1" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_TreasuryStockCommonValue" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails" xlink:type="extended" xlink:title="99941101 - Disclosure - Stock Options - Weighted Average Fair Values and Assumptions (Details)">
    <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: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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207538632868" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207538632868" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails" xlink:type="extended" xlink:title="99941102 - Disclosure - Stock Options - Summary of Stock Option Activity (Details)">
    <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:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:label="us-gaap_OptionIndexedToIssuersEquityEquityAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_OptionIndexedToIssuersEquityEquityAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638760207538652868" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638760207538652868" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:to="us-gaap_EmployeeStockOptionMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="srt_TitleOfIndividualAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_638760207538662877" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_638760207538662877" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_DirectorMember" xlink:label="srt_DirectorMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_DirectorMember" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207538672868" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207538672868" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="4" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_PlanNameAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638760207538672868" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain_638760207538672868" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_TwoThousandThirteenStockPlanMember" xlink:label="inod_TwoThousandThirteenStockPlanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PlanNameDomain" xlink:to="inod_TwoThousandThirteenStockPlanMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_TwoThousandTwentyOneEquityCompensationPlanMember" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PlanNameDomain" xlink:to="inod_TwoThousandTwentyOneEquityCompensationPlanMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_EquityPlansMember" xlink:label="inod_EquityPlansMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PlanNameDomain" xlink:to="inod_EquityPlansMember" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="18" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="19" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails" xlink:type="extended" xlink:title="99941103 - Disclosure - Stock Options - Summary of stock option and Restricted Stock option activity (Details)">
    <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:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="srt_TitleOfIndividualAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_638760207538892882" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_638760207538892882" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_NonEmployeeMember" xlink:label="inod_NonEmployeeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="inod_NonEmployeeMember" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207538902889" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207538902889" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_PlanNameAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638760207538902889" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain_638760207538902889" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_EquityPlansMember" xlink:label="inod_EquityPlansMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PlanNameDomain" xlink:to="inod_EquityPlansMember" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedPaymentArrangementGranteeStatusExtensibleList" xlink:label="us-gaap_ShareBasedPaymentArrangementGranteeStatusExtensibleList" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedPaymentArrangementGranteeStatusExtensibleList" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails" xlink:type="extended" xlink:title="99941104 - Disclosure - Stock Options - Additional Information (Details)">
    <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:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_PlanNameAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638760207538932884" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain_638760207538932884" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_TwoThousandThirteenStockPlanMember" xlink:label="inod_TwoThousandThirteenStockPlanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PlanNameDomain" xlink:to="inod_TwoThousandThirteenStockPlanMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_TwoThousandTwentyOneEquityCompensationPlanMember" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PlanNameDomain" xlink:to="inod_TwoThousandTwentyOneEquityCompensationPlanMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="inod_TwoThousandTwentyOneEquityCompensationPlanMember" xlink:to="inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_AwardsGrantedPriorToApril112022Member" xlink:label="inod_AwardsGrantedPriorToApril112022Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="inod_TwoThousandTwentyOneEquityCompensationPlanMember" xlink:to="inod_AwardsGrantedPriorToApril112022Member" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_AwardsGrantedOnOrAfterApril112022Member" xlink:label="inod_AwardsGrantedOnOrAfterApril112022Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="inod_TwoThousandTwentyOneEquityCompensationPlanMember" xlink:to="inod_AwardsGrantedOnOrAfterApril112022Member" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:label="us-gaap_OptionIndexedToIssuersEquityEquityAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_OptionIndexedToIssuersEquityEquityAxis" priority="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638760207538942888" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638760207538942888" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:to="us-gaap_EmployeeStockOptionMember" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" priority="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207538952879" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207538952879" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights" xlink:label="inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio" xlink:label="inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureRedemptionOfNonControllingInterestDetails" xlink:type="extended" xlink:title="99941201 - Disclosure - Redemption of non-controlling interest (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RedeemableNoncontrollingInterestByLegalEntityTable" xlink:label="us-gaap_RedeemableNoncontrollingInterestByLegalEntityTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_RedeemableNoncontrollingInterestByLegalEntityTable" xlink:to="us-gaap_BalanceSheetLocationAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_638760207538972897" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain_638760207538972897" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_AdditionalPaidInCapitalMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RedeemableNoncontrollingInterestLineItems" xlink:label="us-gaap_RedeemableNoncontrollingInterestLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_RedeemableNoncontrollingInterestLineItems" xlink:to="us-gaap_RedeemableNoncontrollingInterestByLegalEntityTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_NoncontrollingInterestRedemptionPercentageByParent" xlink:label="inod_NoncontrollingInterestRedemptionPercentageByParent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RedeemableNoncontrollingInterestLineItems" xlink:to="inod_NoncontrollingInterestRedemptionPercentageByParent" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount" xlink:label="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_RedeemableNoncontrollingInterestLineItems" xlink:to="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails" xlink:type="extended" xlink:title="99941301 - Disclosure - Comprehensive loss - Reclassifications from accumulated other comprehensive loss (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:to="us-gaap_StatementEquityComponentsAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_638760207538982887" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain_638760207538982887" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember" xlink:label="us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:label="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedTranslationAdjustmentMember" xlink:label="us-gaap_AccumulatedTranslationAdjustmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedTranslationAdjustmentMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_StockholdersEquity" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:label="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails" xlink:type="extended" xlink:title="99941401 - Disclosure - Segment reporting and concentrations (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638760207539002883" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain_638760207539002883" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_DdsMember" xlink:label="inod_DdsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentDomain" xlink:to="inod_DdsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_SynodexMember" xlink:label="inod_SynodexMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="inod_SynodexMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_AgilityMember" xlink:label="inod_AgilityMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentDomain" xlink:to="inod_AgilityMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_Assets" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_Goodwill" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails" xlink:type="extended" xlink:title="99941402 - Disclosure - Segment reporting and concentrations-significant income statement (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638760207539012887" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain_638760207539012887" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_DdsMember" xlink:label="inod_DdsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentDomain" xlink:to="inod_DdsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_SynodexMember" xlink:label="inod_SynodexMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="inod_SynodexMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_AgilityMember" xlink:label="inod_AgilityMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentDomain" xlink:to="inod_AgilityMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DirectOperatingCosts" xlink:label="us-gaap_DirectOperatingCosts" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_DirectOperatingCosts" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_GrossProfit" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_OperatingIncomeLoss" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_InterestIncomeExpenseNonoperatingNet" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails" xlink:type="extended" xlink:title="99941403 - Disclosure - Segment reporting and concentrations - Long-lived assets (Details)">
    <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:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="srt_StatementGeographicalAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638760207539042896" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain_638760207539042896" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_CA" xlink:label="country_CA" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_CA" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_GB" xlink:label="country_GB" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_GB" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_PH" xlink:label="country_PH" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_PH" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_IN" xlink:label="country_IN" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_IN" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_LK" xlink:label="country_LK" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_LK" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd#stpr_IL" xlink:label="stpr_IL" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="srt_SegmentGeographicalDomain" xlink:to="stpr_IL" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_DE" xlink:label="country_DE" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_DE" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ForeignCountriesMember" xlink:label="inod_ForeignCountriesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="srt_SegmentGeographicalDomain" xlink:to="inod_ForeignCountriesMember" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_NoncurrentAssets" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails" xlink:type="extended" xlink:title="99941404 - Disclosure - Segment reporting and concentrations - Revenues by geographic region (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_StatementGeographicalAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638760207539062890" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain_638760207539062890" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_GB" xlink:label="country_GB" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_GB" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_NL" xlink:label="country_NL" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_NL" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_CA" xlink:label="country_CA" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_CA" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_OtherPrincipallyEuropeMember" xlink:label="inod_OtherPrincipallyEuropeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_SegmentGeographicalDomain" xlink:to="inod_OtherPrincipallyEuropeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails" xlink:type="extended" xlink:title="99941405 - Disclosure - Segment reporting and concentrations - Additional information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_MajorCustomersAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_638760207539082898" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain_638760207539082898" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ForeignCustomerMember" xlink:label="inod_ForeignCustomerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="inod_ForeignCustomerMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_OneClientMember" xlink:label="inod_OneClientMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="inod_OneClientMember" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_TwoClientMember" xlink:label="inod_TwoClientMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="inod_TwoClientMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ThreeClientsMember" xlink:label="inod_ThreeClientsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="inod_ThreeClientsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ClientMember" xlink:label="inod_ClientMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="inod_ClientMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_RangeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638760207539092889" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember_638760207539092889" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_638760207539092889" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_638760207539092889" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="4" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain_638760207539102887" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain_638760207539102887" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="5" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_StatementGeographicalAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638760207539112886" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain_638760207539112886" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonUsMember" xlink:label="us-gaap_NonUsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_SegmentGeographicalDomain" xlink:to="us-gaap_NonUsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_NumberOfReportableSegments" priority="1" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_NumberOfClient" xlink:label="inod_NumberOfClient" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="inod_NumberOfClient" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareAdditionalInformationDetails" xlink:type="extended" xlink:title="99941502 - Disclosure - Income (loss) per Share - Additional information (Details)">
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:label="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_638760207539132889" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_638760207539132889" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:to="us-gaap_AwardTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207539142907" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207539142907" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" use="optional" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails" xlink:type="extended" xlink:title="99941602 - Disclosure - Derivatives - Fair value of derivative instruments (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:to="us-gaap_BalanceSheetLocationAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_638760207539162905" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain_638760207539162905" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesMember" xlink:label="us-gaap_AccruedLiabilitiesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_AccruedLiabilitiesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:label="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_638760207539162905" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain_638760207539162905" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignExchangeForwardMember" xlink:label="us-gaap_ForeignExchangeForwardMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_ForeignExchangeForwardMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:to="us-gaap_HedgingDesignationAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain_638760207539172893" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationDomain_638760207539172893" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_HedgingDesignationDomain" xlink:to="us-gaap_DesignatedAsHedgingInstrumentMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="us-gaap_DerivativesFairValueLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DerivativesFairValueLineItems" xlink:to="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentsAndHedgesLiabilities" xlink:label="us-gaap_DerivativeInstrumentsAndHedgesLiabilities" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DerivativesFairValueLineItems" xlink:to="us-gaap_DerivativeInstrumentsAndHedgesLiabilities" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails" xlink:type="extended" xlink:title="99941701 - Disclosure - Line Of Credit (Details)">
    <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:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_CreditFacilityAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain_638760207539182894" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain_638760207539182894" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_RevolvingCreditFacilityMember" use="optional" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <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:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender" xlink:label="inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" xlink:label="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" xlink:label="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:to="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" priority="1" use="optional" />
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>14
<FILENAME>inod-20241231_lab.xml
<DESCRIPTION>EX-101.LAB
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--XBRL document created with Toppan Merrill Bridge  10.9.0.3 -->
<!--Based on XBRL 2.1-->
<!--Created on: 2/24/2025 7:05:57 PM-->
<!--Modified on: 2/24/2025 7:05:57 PM-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt">
  <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#negatedTotalLabel" roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" />
  <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
    <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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CoverAbstract_lbl" xml:lang="en-US">Document and Entity Information</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationTable" xlink:to="dei_DocumentInformationTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentInformationTable_lbl" xml:lang="en-US">Document Information [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentInformationLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentInformationLineItems_lbl" xml:lang="en-US">Document Information [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="dei_DocumentInformationLineItems_lbl" xml:lang="en-US">Document and Entity Information</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl" />
    <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_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAnnualReport" xlink:to="dei_DocumentAnnualReport_lbl" />
    <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_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" />
    <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_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl" />
    <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_EntityFileNumber" xlink:label="dei_EntityFileNumber" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" />
    <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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" />
    <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_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl" />
    <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_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl" />
    <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_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl" />
    <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_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" />
    <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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl" />
    <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_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" />
    <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_CityAreaCode" xlink:label="dei_CityAreaCode" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl" />
    <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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl" />
    <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_Security12bTitle" xlink:label="dei_Security12bTitle" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl" />
    <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_TradingSymbol" xlink:label="dei_TradingSymbol" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl" />
    <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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" />
    <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_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer_lbl" />
    <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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers_lbl" />
    <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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl" />
    <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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl" />
    <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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl" />
    <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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness_lbl" />
    <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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" />
    <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_DocumentFinStmtErrorCorrectionFlag" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFinStmtErrorCorrectionFlag" xlink:to="dei_DocumentFinStmtErrorCorrectionFlag_lbl" />
    <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_EntityShellCompany" xlink:label="dei_EntityShellCompany" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl" />
    <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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPublicFloat" xlink:to="dei_EntityPublicFloat_lbl" />
    <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_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl" />
    <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_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" />
    <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_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl" />
    <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_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl" />
    <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_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl" />
    <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_AmendmentFlag" xlink:label="dei_AmendmentFlag" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" />
    <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_AuditorName" xlink:label="dei_AuditorName" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorName" xlink:to="dei_AuditorName_lbl" />
    <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_AuditorFirmId" xlink:label="dei_AuditorFirmId" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorFirmId" xlink:to="dei_AuditorFirmId_lbl" />
    <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_AuditorLocation" xlink:label="dei_AuditorLocation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorLocation" xlink:to="dei_AuditorLocation_lbl" />
    <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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_lbl" xml:lang="en-US">CONSOLIDATED BALANCE SHEETS</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl" />
    <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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl" />
    <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:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US">Statement</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl" />
    <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 [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" 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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US">Assets, Current [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US">Current assets:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US">Cash and Cash Equivalents, at Carrying Value, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherShortTermInvestments" xlink:label="us-gaap_OtherShortTermInvestments" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherShortTermInvestments" xlink:to="us-gaap_OtherShortTermInvestments_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherShortTermInvestments_lbl" xml:lang="en-US">Other Short-Term Investments</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherShortTermInvestments_lbl" xml:lang="en-US">Short term investments - other</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl" />
    <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, after Allowance for Credit Loss, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US">Accounts receivable, net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US">Accounts receivable, net of allowance for credit losses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xml:lang="en-US">Prepaid Expense and Other Assets Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xml:lang="en-US">Prepaid expenses and other current assets</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US">Assets, Current, Total</link:label>
    <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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl" />
    <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, Plant and Equipment, Net, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US">Property and equipment, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US">Operating Lease, Right-of-Use Asset</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US">Right-of-use-asset, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xml:lang="en-US">Other Assets Noncurrent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xml:lang="en-US">Other assets</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_lbl" />
    <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 Income Tax Assets, Net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xml:lang="en-US">Deferred income taxes, net</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" />
    <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, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xml:lang="en-US">Intangibles, net</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US">Goodwill</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US">Balance - December 31, 2024</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US">Balance - January 1, 2024</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US">Goodwill</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US">Goodwill</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US">Assets, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US">Total assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US">Total assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US">Liabilities and Equity [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US">LIABILITIES, NON-CONTROLLING INTERESTS AND STOCKHOLDERS' EQUITY</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US">Liabilities, Current [Abstract]</link:label>
    <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 liabilities:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent_lbl" />
    <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 Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" 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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent_lbl" />
    <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 Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccruedLiabilitiesCurrent_lbl" xml:lang="en-US">Accrued expenses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" xml:lang="en-US">Employee Related Liabilities Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" xml:lang="en-US">Accrued salaries, wages and related benefits</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US">Contract with Customer, Liability, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US">Balance at the end of period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US">Balance at the beginning of period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US">Deferred revenues</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxesPayableCurrent" xlink:to="us-gaap_TaxesPayableCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TaxesPayableCurrent_lbl" xml:lang="en-US">Taxes Payable, Current, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_TaxesPayableCurrent_lbl" xml:lang="en-US">Income and other taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_CurrentPortionOfLongTermObligations" xlink:label="inod_CurrentPortionOfLongTermObligations" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_CurrentPortionOfLongTermObligations" xlink:to="inod_CurrentPortionOfLongTermObligations_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_CurrentPortionOfLongTermObligations_lbl" xml:lang="en-US">The current portion of long-term obligations of the entity.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_CurrentPortionOfLongTermObligations_lbl" xml:lang="en-US">Current Portion Of Long-Term Obligations</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_CurrentPortionOfLongTermObligations_lbl" xml:lang="en-US">Less: Current portion of long-term obligations</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="inod_CurrentPortionOfLongTermObligations_lbl" xml:lang="en-US">Long-term obligations - current portion</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US">Operating Lease, Liability, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US">Operating lease liability - current portion</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US">Current portion</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US">Liabilities, Current, Total</link:label>
    <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_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US">Deferred Income Tax Liabilities, Net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US">Deferred income taxes, net</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_NoncurrentPortionOfLongTermObligations" xlink:label="inod_NoncurrentPortionOfLongTermObligations" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_NoncurrentPortionOfLongTermObligations" xlink:to="inod_NoncurrentPortionOfLongTermObligations_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_NoncurrentPortionOfLongTermObligations_lbl" xml:lang="en-US">The non-current portion of long-term obligations of the entity.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_NoncurrentPortionOfLongTermObligations_lbl" xml:lang="en-US">Noncurrent Portion Of Long-Term Obligations</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_NoncurrentPortionOfLongTermObligations_lbl" xml:lang="en-US">Long-term obligations, net of current portion</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="inod_NoncurrentPortionOfLongTermObligations_lbl" xml:lang="en-US">Totals</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US">Operating Lease, Liability, Noncurrent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US">Operating lease liability, net of current portion</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US">Long-term portion</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Liabilities_lbl" xml:lang="en-US">Liabilities</link:label>
    <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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl" />
    <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.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US">Commitments and contingencies</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount" xlink:label="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount" xlink:to="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount_lbl" xml:lang="en-US">Redeemable Noncontrolling Interest, Equity, Carrying Amount, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount_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_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract_lbl" />
    <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 Equity [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xml:lang="en-US">STOCKHOLDERS' EQUITY:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockValue" xlink:to="us-gaap_PreferredStockValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockValue_lbl" xml:lang="en-US">Preferred Stock Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PreferredStockValue_lbl" xml:lang="en-US">Serial preferred stock; 4,998,000 shares authorized, none issued and outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl" />
    <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:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US">Common stock, $.01 par value; 75,000,000 shares authorized; 34,484,000 shares issued and 31,300,000 outstanding at December 31, 2024 and 31,937,000 shares issued and 28,753,000 outstanding at December 31, 2023</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapital" xlink:to="us-gaap_AdditionalPaidInCapital_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapital_lbl" xml:lang="en-US">Additional Paid In Capital</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdditionalPaidInCapital_lbl" xml:lang="en-US">Additional paid-in capital</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US">Retained Earnings Accumulated Deficit</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US">Retained earnings (deficit)</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" />
    <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 Income (Loss), Net Of Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" 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_StockholdersEquityBeforeTreasuryStock" xlink:label="us-gaap_StockholdersEquityBeforeTreasuryStock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityBeforeTreasuryStock" xlink:to="us-gaap_StockholdersEquityBeforeTreasuryStock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityBeforeTreasuryStock_lbl" xml:lang="en-US">Stockholders Equity Before Treasury Stock</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquityBeforeTreasuryStock_lbl" xml:lang="en-US">Stockholders' Equity before Treasury Stock, Total</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockValue" xlink:to="us-gaap_TreasuryStockValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockValue_lbl" xml:lang="en-US">Treasury Stock Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_TreasuryStockValue_lbl" xml:lang="en-US">Less: treasury stock, 3,184,000 shares at December 31, 2024 and 2023, at cost</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US">Stockholders Equity</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US">Balance at the end</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US">Balance at the beginning</link:label>
    <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' 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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US">Liabilities and Stockholders Equity</link:label>
    <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, non-controlling interests and stockholders' equity</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesAuthorized" xlink:to="us-gaap_PreferredStockSharesAuthorized_lbl" />
    <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:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PreferredStockSharesAuthorized_lbl" xml:lang="en-US">Serial 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_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesOutstanding" xlink:to="us-gaap_PreferredStockSharesOutstanding_lbl" />
    <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:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xml:lang="en-US">Serial preferred stock, outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl" />
    <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 Or Stated Value Per Share</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US">Common stock, par value (in dollars per share)</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_lbl" />
    <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:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xml:lang="en-US">Common stock, shares authorized</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl" />
    <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:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US">Common stock, shares issued</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl" />
    <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:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US">Common stock, 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_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonShares" xlink:to="us-gaap_TreasuryStockCommonShares_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xml:lang="en-US">Treasury Stock, Shares</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xml:lang="en-US">Balance at the end (in shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xml:lang="en-US">Balance at the beginning (in shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xml:lang="en-US">Treasury stock, shares</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementAbstract_lbl" xml:lang="en-US">CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (LOSS)</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xml:lang="en-US">Revenue from Contract with Customer, Excluding Assessed Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xml:lang="en-US">Revenues</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostsAndExpensesAbstract" xlink:label="us-gaap_CostsAndExpensesAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_CostsAndExpensesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostsAndExpensesAbstract_lbl" xml:lang="en-US">Costs and Expenses [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CostsAndExpensesAbstract_lbl" xml:lang="en-US">Operating costs and expenses:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DirectOperatingCosts" xlink:label="us-gaap_DirectOperatingCosts" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DirectOperatingCosts" xlink:to="us-gaap_DirectOperatingCosts_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DirectOperatingCosts_lbl" xml:lang="en-US">Direct Operating Costs</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DirectOperatingCosts_lbl" xml:lang="en-US">Direct operating costs</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DirectOperatingCosts_lbl" xml:lang="en-US">Direct operating costs</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" xml:lang="en-US">Selling and administrative expenses</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" xml:lang="en-US">Selling and administrative expenses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:to="us-gaap_InterestIncomeExpenseNonoperatingNet_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet_lbl" xml:lang="en-US">Interest Income (Expense), Nonoperating, Net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet_lbl" xml:lang="en-US">Interest (income) expense, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostsAndExpenses" xlink:label="us-gaap_CostsAndExpenses" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostsAndExpenses" xlink:to="us-gaap_CostsAndExpenses_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostsAndExpenses_lbl" xml:lang="en-US">Costs and Expenses</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CostsAndExpenses_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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US">Income (Loss) From Continuing Operations Before Income Taxes, Extraordinary Items, Noncontrolling Interest</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US">Income before provision for income taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Income Tax Expense (Benefit)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Provision for income taxes</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Provision for income taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US">Net Income (Loss), Including Portion Attributable to Noncontrolling Interest, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US">Consolidated net income (loss)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US">Consolidated net income (loss)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US">Consolidated net income (loss)</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Net Income Loss Attributable To Noncontrolling Interest</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl" />
    <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 (loss) attributable to Innodata Inc. and Subsidiaries</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xml:lang="en-US">Income (loss) per Share</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xml:lang="en-US">Income (loss) per share attributable to Innodata Inc. and Subsidiaries:</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US">Earnings Per Share, Basic</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US">Basic (in dollars per share)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US">Earnings Per Share, Diluted</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US">Diluted (in dollars per share)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl" xml:lang="en-US">Weighted Average Number Of Shares Outstanding [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl" xml:lang="en-US">Weighted average 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_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" />
    <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 Shares Outstanding, Basic</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US">Basic (in shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US">Weighted average common 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_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" />
    <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 Shares Outstanding, Diluted</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US">Adjusted for dilutive computation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US">Diluted (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_lbl" xml:lang="en-US">Comprehensive loss</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_lbl" xml:lang="en-US">Comprehensive income (loss):</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_lbl" xml:lang="en-US">Other Comprehensive Income (Loss), Pension and Other Postretirement Benefit Plans, Adjustment, Net Of Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_lbl" xml:lang="en-US">Pension liability adjustment, net of taxes</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xml:lang="en-US">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xml:lang="en-US">Foreign currency translation adjustment</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xml:lang="en-US">Foreign currency 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_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_lbl" xml:lang="en-US">Other Comprehensive Income (Loss), Derivatives Qualifying As Hedges, Net Of Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_lbl" xml:lang="en-US">Change in fair value of derivatives, net of taxes</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_lbl" xml:lang="en-US">Change in fair value of derivatives, net of taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US">Other comprehensive income (loss)</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest, Total</link:label>
    <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 (loss)</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Comprehensive (Income) Loss, Net of Tax, Attributable to Noncontrolling Interest, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Comprehensive income attributed 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_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xml:lang="en-US">Comprehensive Income (Loss), Net Of Tax, Attributable To Parent</link:label>
    <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 (loss) attributable to Innodata Inc. and Subsidiaries</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract_lbl" xml:lang="en-US">CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</link:label>
    <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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xml:lang="en-US">Statement 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_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_EquityComponentDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityComponentDomain_lbl" xml:lang="en-US">Equity Component [Domain]</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl" />
    <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:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockMember_lbl" xml:lang="en-US">Common Stock</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xml:lang="en-US">Additional Paid-in Capital</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl" />
    <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</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RetainedEarningsMember_lbl" xml:lang="en-US">Retained Earnings</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xml:lang="en-US">Accumulated Other Comprehensive Loss [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xml:lang="en-US">Accumulated Other Comprehensive Loss</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonMember" xlink:to="us-gaap_TreasuryStockCommonMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonMember_lbl" xml:lang="en-US">Treasury Stock [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockCommonMember_lbl" xml:lang="en-US">Treasury Stock</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharesOutstanding_lbl" xml:lang="en-US">Shares, Outstanding</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_SharesOutstanding_lbl" xml:lang="en-US">Balance at the end (in shares)</link:label>
    <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 at the beginning (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xml:lang="en-US">Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xml:lang="en-US">Stock-based compensation</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xml:lang="en-US">Exercise of stock options</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xml:lang="en-US">Stock option exercises</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US">Stock option exercises (in shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US">Number of Options, Exercised (in shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US">Stock option exercises (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_lbl" xml:lang="en-US">Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_lbl" xml:lang="en-US">Restricted stock units vested (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xml:lang="en-US">Share-based Payment Arrangement, Decrease for Tax Withholding Obligation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xml:lang="en-US">Shares withheld for exercise net settlement</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl" xml:lang="en-US">Share-based Payment Arrangement, Shares Withheld for Tax Withholding Obligation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl" xml:lang="en-US">Shares withheld for exercise net settlement (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings" xlink:label="us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings" xlink:to="us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings_lbl" xml:lang="en-US">Restricted Stock, Value, Shares Issued Net of Tax Withholdings</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings_lbl" xml:lang="en-US">Shares withheld for restricted stock unit net settlement</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalOther" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalOther" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalOther" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalOther_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalOther_lbl" xml:lang="en-US">Adjustments to Additional Paid in Capital, Other</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalOther_lbl" xml:lang="en-US">Redemption of 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_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfCashFlowsAbstract_lbl" xml:lang="en-US">CONSOLIDATED STATEMENTS OF CASH FLOWS</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Cash flows from operating activities:</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" />
    <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 Loss To Cash Provided By Used In Operating Activities [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Adjustments to reconcile consolidated net income (loss) to net 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_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationDepletionAndAmortization" xlink:to="us-gaap_DepreciationDepletionAndAmortization_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl" xml:lang="en-US">Depreciation, Depletion and Amortization</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl" xml:lang="en-US">Depreciation and amortization</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl" xml:lang="en-US">Depreciation expense</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US">Share-based Compensation, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US">Stock-based compensation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US">Total 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_DeferredIncomeTaxesAndTaxCredits" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCredits_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_lbl" xml:lang="en-US">Deferred Income Taxes and Tax Credits</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_lbl" xml:lang="en-US">Deferred income taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProvisionForLoanLossesExpensed" xlink:label="us-gaap_ProvisionForLoanLossesExpensed" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProvisionForLoanLossesExpensed" xlink:to="us-gaap_ProvisionForLoanLossesExpensed_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProvisionForLoanLossesExpensed_lbl" xml:lang="en-US">Financing Receivable, Credit Loss, Expense (Reversal)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProvisionForLoanLossesExpensed_lbl" xml:lang="en-US">Provision for credit losses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedContributionPlanIncreaseDecreaseCost" xlink:label="us-gaap_DefinedContributionPlanIncreaseDecreaseCost" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanIncreaseDecreaseCost" xlink:to="us-gaap_DefinedContributionPlanIncreaseDecreaseCost_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedContributionPlanIncreaseDecreaseCost_lbl" xml:lang="en-US">Defined Contribution Plan, Increase (Decrease), Cost</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DefinedContributionPlanIncreaseDecreaseCost_lbl" xml:lang="en-US">Pension cost</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US">Increase Decrease In Operating Capital [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US">Changes in operating assets and liabilities:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xml:lang="en-US">Increase Decrease In Accounts Receivable</link:label>
    <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_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xml:lang="en-US">Increase Decrease In Prepaid Deferred Expense and Other Assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xml:lang="en-US">Prepaid expenses and other 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_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl" xml:lang="en-US">Increase Decrease In Other Operating Assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl" xml:lang="en-US">Other assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" xml:lang="en-US">Increase (Decrease) In Accounts Payable and Accrued Liabilities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" xml:lang="en-US">Accounts payable and accrued expenses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xml:lang="en-US">Increase (Decrease) in Contract with Customer, Liability</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xml:lang="en-US">Deferred revenues</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_lbl" xml:lang="en-US">Increase Decrease In Employee Related Liabilities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_lbl" xml:lang="en-US">Accrued salaries, wages and related benefits</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedTaxesPayable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:to="us-gaap_IncreaseDecreaseInAccruedTaxesPayable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccruedTaxesPayable_lbl" xml:lang="en-US">Increase Decrease In Accrued Taxes Payable</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccruedTaxesPayable_lbl" xml:lang="en-US">Income and other taxes</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US">Net cash provided by (used in) operating activities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US">Net cash provided by 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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xml:lang="en-US">Cash flows from investing activities:</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US">Payments To Acquire Property Plant and Equipment</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US">Capital expenditures</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForProceedsFromShortTermInvestments" xlink:label="us-gaap_PaymentsForProceedsFromShortTermInvestments" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForProceedsFromShortTermInvestments" xlink:to="us-gaap_PaymentsForProceedsFromShortTermInvestments_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsForProceedsFromShortTermInvestments_lbl" xml:lang="en-US">Payments for (Proceeds from) Short-Term Investments</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsForProceedsFromShortTermInvestments_lbl" xml:lang="en-US">Proceeds from short term investments - others</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US">Net cash used in investing activities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xml:lang="en-US">Cash flows from financing activities:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromStockOptionsExercised" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xml:lang="en-US">Proceeds from Stock Options Exercised</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xml:lang="en-US">Proceeds from 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_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xml:lang="en-US">Payment, Tax Withholding, Share-Based Payment Arrangement</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xml:lang="en-US">Withholding taxes on net settlement of restricted stock units</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLongTermDebt" xlink:to="us-gaap_RepaymentsOfLongTermDebt_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfLongTermDebt_lbl" xml:lang="en-US">Repayments Of Long Term Debt</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfLongTermDebt_lbl" xml:lang="en-US">Payment of long-term obligations</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US">Net cash provided by 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_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US">Effect of Exchange Rate on Cash and Cash Equivalents, Continuing Operations</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US">Effect of exchange rate changes on cash and cash equivalents</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xml:lang="en-US">Net increase in cash and cash equivalents</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US">Cash and cash equivalents, end of year</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US">Cash and cash equivalents, beginning of year</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_lbl" />
    <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 Cash Flow Information [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xml:lang="en-US">Supplemental disclosures of cash flow information:</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_VendorFinancedSoftwareLicensesAcquired" xlink:label="inod_VendorFinancedSoftwareLicensesAcquired" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_VendorFinancedSoftwareLicensesAcquired" xlink:to="inod_VendorFinancedSoftwareLicensesAcquired_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_VendorFinancedSoftwareLicensesAcquired_lbl" xml:lang="en-US">The amount of non cash vendor financed software licenses acquired.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_VendorFinancedSoftwareLicensesAcquired_lbl" xml:lang="en-US">Vendor Financed Software Licenses Acquired</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_VendorFinancedSoftwareLicensesAcquired_lbl" xml:lang="en-US">Vendor financed software licenses acquired</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesPaid" xlink:label="us-gaap_IncomeTaxesPaid" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaid" xlink:to="us-gaap_IncomeTaxesPaid_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxesPaid_lbl" xml:lang="en-US">Income Taxes Paid</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxesPaid_lbl" xml:lang="en-US">Cash paid for income taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeasePayments_lbl" xml:lang="en-US">Operating Lease, Payments</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeasePayments_lbl" xml:lang="en-US">Cash paid for operating leases</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPaidNet" xlink:to="us-gaap_InterestPaidNet_lbl" />
    <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, Excluding Capitalized Interest, Operating Activities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestPaidNet_lbl" xml:lang="en-US">Cash paid for interest</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountingPoliciesAbstract_lbl" xml:lang="en-US">Description of Business and Summary of Significant Accounting Estimates and Policies</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:to="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_lbl" xml:lang="en-US">Organization, Consolidation, Basis of Presentation, Business Description and Accounting Policies [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_lbl" xml:lang="en-US">Description of Business and Summary of Significant Accounting Estimates and Policies</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReceivablesAbstract" xlink:to="us-gaap_ReceivablesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReceivablesAbstract_lbl" xml:lang="en-US">Accounts Receivable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsAndNontradeReceivableTextBlock" xlink:label="us-gaap_AccountsAndNontradeReceivableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsAndNontradeReceivableTextBlock" xlink:to="us-gaap_AccountsAndNontradeReceivableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsAndNontradeReceivableTextBlock_lbl" xml:lang="en-US">Accounts and Nontrade Receivable [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsAndNontradeReceivableTextBlock_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_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" />
    <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 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_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" />
    <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, Plant and Equipment Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xml:lang="en-US">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_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" />
    <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</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl" />
    <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 Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_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_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract_lbl" />
    <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 Taxes</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl" />
    <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 Tax Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US">Income Taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LongTermObligationsAbstract" xlink:label="inod_LongTermObligationsAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LongTermObligationsAbstract" xlink:to="inod_LongTermObligationsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LongTermObligationsAbstract_lbl" xml:lang="en-US">Long-term obligations</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LongTermObligationsDisclosureTextBlock" xlink:label="inod_LongTermObligationsDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LongTermObligationsDisclosureTextBlock" xlink:to="inod_LongTermObligationsDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LongTermObligationsDisclosureTextBlock_lbl" xml:lang="en-US">The entire disclosure for long-term obligations.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LongTermObligationsDisclosureTextBlock_lbl" xml:lang="en-US">Long-Term Obligations, Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LongTermObligationsDisclosureTextBlock_lbl" xml:lang="en-US">Long-term obligations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" xml:lang="en-US">Commitments and Contingencies</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xml:lang="en-US">Commitments and Contingencies Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xml:lang="en-US">Commitments and Contingencies</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeDisclosureAbstract" xlink:label="us-gaap_LesseeDisclosureAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeDisclosureAbstract" xlink:to="us-gaap_LesseeDisclosureAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeDisclosureAbstract_lbl" xml:lang="en-US">Operating Leases</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xml:lang="en-US">Lessee, Operating Leases [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xml:lang="en-US">Operating Leases</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_CompensationAndRetirementDisclosureAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_lbl" xml:lang="en-US">Pension Benefits</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl" xml:lang="en-US">Pension and Other Postretirement Benefits Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl" xml:lang="en-US">Pension Benefits</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityNoteAbstract" xlink:label="us-gaap_StockholdersEquityNoteAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityNoteAbstract" xlink:to="us-gaap_StockholdersEquityNoteAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityNoteAbstract_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_StockholdersEquityNoteDisclosureTextBlock" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xml:lang="en-US">Stockholders' Equity Note Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_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_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US">Disclosure Of Compensation Related Costs, Share-Based Payments [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US">Stock Options</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_RedemptionOfNonControllingInterestAbstract" xlink:label="inod_RedemptionOfNonControllingInterestAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_RedemptionOfNonControllingInterestAbstract" xlink:to="inod_RedemptionOfNonControllingInterestAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_RedemptionOfNonControllingInterestAbstract_lbl" xml:lang="en-US">No definition available.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_RedemptionOfNonControllingInterestAbstract_lbl" xml:lang="en-US">Redemption of non-controlling interest</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_RedemptionOfNonControllingInterestTextBlock" xlink:label="inod_RedemptionOfNonControllingInterestTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_RedemptionOfNonControllingInterestTextBlock" xlink:to="inod_RedemptionOfNonControllingInterestTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_RedemptionOfNonControllingInterestTextBlock_lbl" xml:lang="en-US">The entire disclosure for Redemption of non-controlling interest.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_RedemptionOfNonControllingInterestTextBlock_lbl" xml:lang="en-US">Redemption Of Non-Controlling Interest [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_RedemptionOfNonControllingInterestTextBlock_lbl" xml:lang="en-US">Redemption of 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_ComprehensiveIncomeNoteTextBlock" xlink:label="us-gaap_ComprehensiveIncomeNoteTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:to="us-gaap_ComprehensiveIncomeNoteTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNoteTextBlock_lbl" xml:lang="en-US">Comprehensive Income (Loss) Note [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ComprehensiveIncomeNoteTextBlock_lbl" xml:lang="en-US">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_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingAbstract_lbl" />
    <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 and concentrations</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xml:lang="en-US">Segment Reporting Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xml:lang="en-US">Segment reporting and concentrations</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xml:lang="en-US">Earnings Per Share [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xml:lang="en-US">Income (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_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:to="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_lbl" xml:lang="en-US">Derivatives</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:to="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_lbl" xml:lang="en-US">Derivative Instruments and Hedging Activities Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_lbl" xml:lang="en-US">Derivatives</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAbstract" xlink:label="us-gaap_LineOfCreditFacilityAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityAbstract" xlink:to="us-gaap_LineOfCreditFacilityAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityAbstract_lbl" xml:lang="en-US">Line of Credit</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureTextBlock" xlink:to="us-gaap_DebtDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDisclosureTextBlock_lbl" xml:lang="en-US">Debt Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtDisclosureTextBlock_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_BusinessCombinationsPolicy" xlink:label="us-gaap_BusinessCombinationsPolicy" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationsPolicy" xlink:to="us-gaap_BusinessCombinationsPolicy_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationsPolicy_lbl" xml:lang="en-US">Business Combinations Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessCombinationsPolicy_lbl" xml:lang="en-US">Description of Business</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationPolicyTextBlock" xlink:to="us-gaap_ConsolidationPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationPolicyTextBlock_lbl" xml:lang="en-US">Consolidation, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConsolidationPolicyTextBlock_lbl" xml:lang="en-US">Principles of Consolidation</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseOfEstimates" xlink:to="us-gaap_UseOfEstimates_lbl" />
    <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, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UseOfEstimates_lbl" xml:lang="en-US">Use of Estimates</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRecognitionPolicyTextBlock" xlink:to="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" xml:lang="en-US">Revenue Recognition, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" xml:lang="en-US">Revenue Recognition</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" />
    <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 Transactions and Translations Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xml:lang="en-US">Foreign Currency Translation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativesPolicyTextBlock" xlink:label="us-gaap_DerivativesPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativesPolicyTextBlock" xlink:to="us-gaap_DerivativesPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativesPolicyTextBlock_lbl" xml:lang="en-US">Derivatives, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativesPolicyTextBlock_lbl" xml:lang="en-US">Derivative Instruments</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" />
    <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, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" xml:lang="en-US">Cash Equivalents</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentPolicyTextBlock" xlink:label="us-gaap_InvestmentPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentPolicyTextBlock" xlink:to="us-gaap_InvestmentPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentPolicyTextBlock_lbl" xml:lang="en-US">Investment, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InvestmentPolicyTextBlock_lbl" xml:lang="en-US">Short term Investments-other</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskCreditRisk" xlink:to="us-gaap_ConcentrationRiskCreditRisk_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl" xml:lang="en-US">Concentration Risk, Credit Risk, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl" xml:lang="en-US">Concentration of Credit Risk</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:to="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl" xml:lang="en-US">Trade and Other Accounts Receivable, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl" xml:lang="en-US">Accounts Receivable</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" />
    <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, Plant and Equipment, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xml:lang="en-US">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_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" xlink:label="us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" xlink:to="us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_lbl" xml:lang="en-US">Research, Development, and Computer Software Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_lbl" xml:lang="en-US">Capitalized Developed Software</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xml:lang="en-US">Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xml:lang="en-US">Long-lived Assets</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl" />
    <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, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl" xml:lang="en-US">Goodwill and Other 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_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl" />
    <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 Tax, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xml:lang="en-US">Income Taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LessorLeasesPolicyTextBlock" xlink:label="us-gaap_LessorLeasesPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LessorLeasesPolicyTextBlock" xlink:to="us-gaap_LessorLeasesPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LessorLeasesPolicyTextBlock_lbl" xml:lang="en-US">Lessor, Leases [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LessorLeasesPolicyTextBlock_lbl" xml:lang="en-US">Accounting for Leases</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" xml:lang="en-US">Share-based Compensation, Option and Incentive Plans Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" xml:lang="en-US">Accounting for 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_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" />
    <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, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xml:lang="en-US">Fair Value of Financial Instruments</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xml:lang="en-US">Earnings Per Share, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xml:lang="en-US">Income (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_PensionAndOtherPostretirementPlansPensionsPolicy" xlink:label="us-gaap_PensionAndOtherPostretirementPlansPensionsPolicy" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionAndOtherPostretirementPlansPensionsPolicy" xlink:to="us-gaap_PensionAndOtherPostretirementPlansPensionsPolicy_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PensionAndOtherPostretirementPlansPensionsPolicy_lbl" xml:lang="en-US">Pension and Other Postretirement Plans, Pensions, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PensionAndOtherPostretirementPlansPensionsPolicy_lbl" xml:lang="en-US">Pension</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" />
    <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, Deferred Revenue [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_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_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xml:lang="en-US">New Accounting Pronouncements, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xml:lang="en-US">Recently Adopted Accounting Pronouncements</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock" xlink:label="us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock" xlink:to="us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock_lbl" xml:lang="en-US">Schedule of Compensation Cost for Share-based Payment Arrangements, Allocation of Share-based Compensation Costs by Plan [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock_lbl" xml:lang="en-US">Schedule of stock-based compensation expense</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenueByArrangementDisclosureTextBlock" xlink:label="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock" xlink:to="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_lbl" xml:lang="en-US">Deferred Revenue, by Arrangement, Disclosure [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_lbl" xml:lang="en-US">Schedule of information about contract liabilities (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_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_lbl" xml:lang="en-US">Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_lbl" xml:lang="en-US">Schedule of accounts receivable</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:to="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl" xml:lang="en-US">Schedule of activity in allowance for credit losses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xml:lang="en-US">Property, Plant and Equipment [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xml:lang="en-US">Schedule of property and equipment, which include amounts recorded under capital leases</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfGoodwillTextBlock" xlink:to="us-gaap_ScheduleOfGoodwillTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock_lbl" xml:lang="en-US">Schedule of Goodwill [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock_lbl" xml:lang="en-US">Schedule of changes in carrying amount of goodwill</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US">Schedule of Company's acquired intangible assets and capitalized developed software</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" />
    <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 Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" xml:lang="en-US">Schedule of estimated amortization expense for 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_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" />
    <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 Components of Income Tax Expense (Benefit) [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xml:lang="en-US">Schedule of components of provision for income taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" />
    <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 Effective Income Tax Rate Reconciliation [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xml:lang="en-US">Schedule of reconciliation of U.S. statutory rate with Company's effective tax rate</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" />
    <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 and Liabilities [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xml:lang="en-US">Schedule of deferred tax assets and liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:to="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_lbl" xml:lang="en-US">Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_lbl" xml:lang="en-US">Schedule of United States and foreign components of loss before provision for income taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_lbl" xml:lang="en-US">Schedule Of Unrecognized Tax Benefits Roll Forward [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_lbl" xml:lang="en-US">Schedule of roll forward of the Company's unrecognized tax benefits and associated interest</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LongTermObligationsDisclosureTableTextBlock" xlink:label="inod_LongTermObligationsDisclosureTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LongTermObligationsDisclosureTableTextBlock" xlink:to="inod_LongTermObligationsDisclosureTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LongTermObligationsDisclosureTableTextBlock_lbl" xml:lang="en-US">The tabular disclosure for long-term obligations.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LongTermObligationsDisclosureTableTextBlock_lbl" xml:lang="en-US">Long-Term Obligations, Disclosure [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LongTermObligationsDisclosureTableTextBlock_lbl" xml:lang="en-US">Schedule of total long-term obligations</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock" xlink:label="inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock" xlink:to="inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock_lbl" xml:lang="en-US">Schedule of operating lease expense recognized in financial statements.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock_lbl" xml:lang="en-US">Schedule of Operating lease expense recognized in Financial Statements [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock_lbl" xml:lang="en-US">Schedule of operating lease expense recognized in financial statements</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Maturity [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xml:lang="en-US">Schedule of net present value of operating lease liability</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock" xlink:label="inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock" xlink:to="inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock_lbl" xml:lang="en-US">Schedule of weighted average remaining lease terms and discount rates.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock_lbl" xml:lang="en-US">Schedule of Weighted Average Remaining Lease Terms and Discount Rates [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock_lbl" xml:lang="en-US">Schedule of weighted average remaining lease terms and discount rates</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock" xlink:label="us-gaap_ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock" xlink:to="us-gaap_ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock_lbl" xml:lang="en-US">Schedule of Changes in Accumulated Postemployment Benefit Obligations [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock_lbl" xml:lang="en-US">Schedule of status of the non-U.S. pension benefits pertaining to benefit obligations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfNetBenefitCostsTableTextBlock" xlink:label="us-gaap_ScheduleOfNetBenefitCostsTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfNetBenefitCostsTableTextBlock" xlink:to="us-gaap_ScheduleOfNetBenefitCostsTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfNetBenefitCostsTableTextBlock_lbl" xml:lang="en-US">Schedule of Net Benefit Costs [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfNetBenefitCostsTableTextBlock_lbl" xml:lang="en-US">Schedule of status of the non-U.S. pension benefits pertaining to components of net periodic pension cost</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock" xlink:label="us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock" xlink:to="us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock_lbl" xml:lang="en-US">Schedule of Amounts Recognized in Balance Sheet [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock_lbl" xml:lang="en-US">Schedule of accumulated benefit obligation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAssumptionsUsedTableTextBlock" xlink:label="us-gaap_ScheduleOfAssumptionsUsedTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAssumptionsUsedTableTextBlock" xlink:to="us-gaap_ScheduleOfAssumptionsUsedTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAssumptionsUsedTableTextBlock_lbl" xml:lang="en-US">Schedule of Assumptions Used [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfAssumptionsUsedTableTextBlock_lbl" xml:lang="en-US">Schedule of actuarial assumptions for all non-U.S. plans</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock" xlink:label="us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock" xlink:to="us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock_lbl" xml:lang="en-US">Schedule of Expected Benefit Payments [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock_lbl" xml:lang="en-US">Schedule of estimated future benefit payments</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_StockOptionsTable" xlink:label="inod_StockOptionsTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_StockOptionsTable" xlink:to="inod_StockOptionsTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_StockOptionsTable_lbl" xml:lang="en-US">Schedule reflecting stock options.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_StockOptionsTable_lbl" xml:lang="en-US">Stock Options [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockUnitsRSUMember" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xml:lang="en-US">Restricted Stock Units (RSUs) [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xml:lang="en-US">Restricted Stock Units</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xml:lang="en-US">Restricted Stock Units</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PlanNameAxis_lbl" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameDomain" xlink:to="us-gaap_PlanNameDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PlanNameDomain_lbl" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_EquityPlansMember" xlink:label="inod_EquityPlansMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_EquityPlansMember" xlink:to="inod_EquityPlansMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_EquityPlansMember_lbl" xml:lang="en-US">Represents the information pertaining to Equity plans.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_EquityPlansMember_lbl" xml:lang="en-US">Equity Plans [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_EquityPlansMember_lbl" xml:lang="en-US">Equity Plans</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_StockOptionsLineItems" xlink:label="inod_StockOptionsLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_StockOptionsLineItems" xlink:to="inod_StockOptionsLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_StockOptionsLineItems_lbl" xml:lang="en-US">Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_StockOptionsLineItems_lbl" xml:lang="en-US">Stock Options [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_StockOptionsLineItems_lbl" xml:lang="en-US">Stock Options and Restricted Stock Units</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl" />
    <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 Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl" xml:lang="en-US">Schedule of weighted-average fair value of the options granted, and weighted-average assumptions</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" />
    <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 Share-Based Compensation, Stock Options, Activity [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xml:lang="en-US">Schedule of stock option activity</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_lbl" xml:lang="en-US">Schedule of Share-based Compensation, Restricted Stock and Restricted Stock Units Activity [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_lbl" xml:lang="en-US">Summary of restricted stock under the company's plan</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:label="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:to="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_lbl" xml:lang="en-US">Schedule Of Accumulated Other Comprehensive Income (Loss) [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_lbl" xml:lang="en-US">Schedule of components of accumulated other comprehensive loss and reclassifications from 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_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" xlink:to="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock_lbl" xml:lang="en-US">Reconciliation of Assets from Segment to Consolidated [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock_lbl" xml:lang="en-US">Reconciliation of Assets from Segment to Consolidated</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock" xlink:label="us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock" xlink:to="us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock_lbl" xml:lang="en-US">Segment, Reconciliation of Other Items from Segments to Consolidated [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock_lbl" xml:lang="en-US">Segment information for other significant income statement</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_lbl" xml:lang="en-US">Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_lbl" xml:lang="en-US">Schedule of revenue from external customers and 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_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:to="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_lbl" />
    <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 from External Customers Attributed to Foreign Countries by Geographic Area [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_lbl" xml:lang="en-US">Schedule of revenue from external customers based on client domicile</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" />
    <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 Earnings Per Share, Basic and Diluted [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xml:lang="en-US">Schedule of loss per share, basic and diluted</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:to="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_lbl" xml:lang="en-US">Schedule Of Derivative Instruments In Statement Of Financial Position, Fair Value [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_lbl" xml:lang="en-US">Schedule of fair value of derivative instruments included within the condensed consolidated balance sheets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:to="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_lbl" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_lbl" xml:lang="en-US">Schedule of effect of foreign currency forward contracts designated as cash flow hedges on condensed consolidated statements of operations</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" xlink:to="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable_lbl" xml:lang="en-US">Description of Business and Summary of Significant Accounting Estimates and Policies [Table]</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis_lbl" />
    <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.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_SegmentGeographicalDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_SegmentGeographicalDomain_lbl" xml:lang="en-US">Segment, Geographical [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_AsiaMember" xlink:label="srt_AsiaMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_AsiaMember" xlink:to="srt_AsiaMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_AsiaMember_lbl" xml:lang="en-US">Asia [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_AsiaMember_lbl" xml:lang="en-US">Asia</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_US" xlink:to="country_US_lbl" />
    <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:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_US_lbl" xml:lang="en-US">United States</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeAxis_lbl" xml:lang="en-US">Range [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeMember" xlink:to="srt_RangeMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeMember_lbl" xml:lang="en-US">Range [Domain]</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember_lbl" />
    <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:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_MinimumMember_lbl" xml:lang="en-US">Minimum</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember_lbl" />
    <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:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_MaximumMember_lbl" xml:lang="en-US">Maximum</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" />
    <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_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl" xml:lang="en-US">Property, Plant and Equipment, Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SoftwareDevelopmentMember" xlink:label="us-gaap_SoftwareDevelopmentMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SoftwareDevelopmentMember" xlink:to="us-gaap_SoftwareDevelopmentMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SoftwareDevelopmentMember_lbl" xml:lang="en-US">Software Development [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SoftwareDevelopmentMember_lbl" xml:lang="en-US">Capitalized software development</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InProcessResearchAndDevelopmentMember" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InProcessResearchAndDevelopmentMember" xlink:to="us-gaap_InProcessResearchAndDevelopmentMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember_lbl" xml:lang="en-US">In Process Research and Development [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember_lbl" xml:lang="en-US">In process research and development</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_lbl" xml:lang="en-US">Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_lbl" xml:lang="en-US">Description of Business and Summary of Significant Accounting Policies [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_lbl" xml:lang="en-US">Description of Business and Summary of Significant Accounting Estimates and Policies</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfReportableSegments" xlink:to="us-gaap_NumberOfReportableSegments_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NumberOfReportableSegments_lbl" xml:lang="en-US">Number of Reportable Segments</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NumberOfReportableSegments_lbl" xml:lang="en-US">Number of reporting segments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CapitalizedContractCostAmortizationPeriod" xlink:label="us-gaap_CapitalizedContractCostAmortizationPeriod" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalizedContractCostAmortizationPeriod" xlink:to="us-gaap_CapitalizedContractCostAmortizationPeriod_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CapitalizedContractCostAmortizationPeriod_lbl" xml:lang="en-US">Capitalized Contract Cost, Amortization Period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CapitalizedContractCostAmortizationPeriod_lbl" xml:lang="en-US">Amortization period</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_lbl" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Prepaid Expense and Other Assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_lbl" xml:lang="en-US">Prepaid expenses and other current assets on contract acquisition costs</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xml:lang="en-US">Foreign Currency Transaction Gain (Loss), before Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xml:lang="en-US">Foreign exchange (gains) losses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xml:lang="en-US">Finite-Lived Intangible Asset, Useful Life</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xml:lang="en-US">Estimated useful life of intangibles</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:label="us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:to="us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_lbl" xml:lang="en-US">Foreign Currency Contract, Asset, Fair Value Disclosure</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_lbl" xml:lang="en-US">Outstanding foreign currency forward contracts</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xml:lang="en-US">Property, Plant and Equipment, Useful Life</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xml:lang="en-US">Property and equipment useful lives</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xml:lang="en-US">Estimated useful lives</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_lbl" xml:lang="en-US">Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_lbl" xml:lang="en-US">Cost</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_lbl" xml:lang="en-US">Property and equipment, stated at cost</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillImpairmentLoss" xlink:to="us-gaap_GoodwillImpairmentLoss_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillImpairmentLoss_lbl" xml:lang="en-US">Goodwill, Impairment Loss</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GoodwillImpairmentLoss_lbl" xml:lang="en-US">Goodwill impairment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenue" xlink:label="us-gaap_DeferredRevenue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenue" xlink:to="us-gaap_DeferredRevenue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredRevenue_lbl" xml:lang="en-US">Deferred Revenue</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredRevenue_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_StockOptionPlanExpense" xlink:label="us-gaap_StockOptionPlanExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockOptionPlanExpense" xlink:to="us-gaap_StockOptionPlanExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockOptionPlanExpense_lbl" xml:lang="en-US">Stock or Unit Option Plan Expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockOptionPlanExpense_lbl" xml:lang="en-US">Direct operating costs</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherSellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_OtherSellingGeneralAndAdministrativeExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherSellingGeneralAndAdministrativeExpense" xlink:to="us-gaap_OtherSellingGeneralAndAdministrativeExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherSellingGeneralAndAdministrativeExpense_lbl" xml:lang="en-US">Other Selling, General and Administrative Expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherSellingGeneralAndAdministrativeExpense_lbl" xml:lang="en-US">Selling and administrative expenses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenuePeriodIncreaseDecrease" xlink:label="us-gaap_DeferredRevenuePeriodIncreaseDecrease" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenuePeriodIncreaseDecrease" xlink:to="us-gaap_DeferredRevenuePeriodIncreaseDecrease_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredRevenuePeriodIncreaseDecrease_lbl" xml:lang="en-US">Deferred Revenue, Period Increase (Decrease)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredRevenuePeriodIncreaseDecrease_lbl" xml:lang="en-US">Net deferred revenue in the period</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenueRevenueRecognized1" xlink:label="us-gaap_DeferredRevenueRevenueRecognized1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenueRevenueRecognized1" xlink:to="us-gaap_DeferredRevenueRevenueRecognized1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredRevenueRevenueRecognized1_lbl" xml:lang="en-US">Deferred Revenue, Revenue Recognized</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredRevenueRevenueRecognized1_lbl" xml:lang="en-US">Revenue recognized</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments" xlink:label="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments" xlink:to="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments_lbl" xml:lang="en-US">Temporary Equity, Foreign Currency Translation Adjustments</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments_lbl" xml:lang="en-US">Currency translations and other adjustments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableGrossCurrent" xlink:to="us-gaap_AccountsReceivableGrossCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableGrossCurrent_lbl" xml:lang="en-US">Accounts Receivable, before Allowance for Credit Loss, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableGrossCurrent_lbl" xml:lang="en-US">Gross 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_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US">Allowance for credit losses</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US">Balance at end of year</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US">Balance at beginning of year</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProvisionForDoubtfulAccounts" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xml:lang="en-US">Accounts Receivable, Credit Loss Expense (Reversal)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xml:lang="en-US">Additions charged to expense</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss, Writeoff</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl" xml:lang="en-US">Write-offs against allowance</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation" xlink:label="us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation" xlink:to="us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation_lbl" xml:lang="en-US">Allowance for Loan and Lease Losses, Foreign Currency Translation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation_lbl" xml:lang="en-US">Foreign currency 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_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" />
    <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_EquipmentMember" xlink:label="us-gaap_EquipmentMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquipmentMember" xlink:to="us-gaap_EquipmentMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquipmentMember_lbl" xml:lang="en-US">Equipment [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquipmentMember_lbl" xml:lang="en-US">Equipment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_lbl" xml:lang="en-US">Computer Software, Intangible Asset [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_lbl" xml:lang="en-US">Capitalized Developed Software</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_lbl" xml:lang="en-US">Computer software</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FurnitureAndFixturesMember" xlink:to="us-gaap_FurnitureAndFixturesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FurnitureAndFixturesMember_lbl" xml:lang="en-US">Furniture and Equipment [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FurnitureAndFixturesMember_lbl" xml:lang="en-US">Furniture and equipment</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseholdImprovementsMember" xlink:to="us-gaap_LeaseholdImprovementsMember_lbl" />
    <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:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LeaseholdImprovementsMember_lbl" xml:lang="en-US">Leasehold improvements</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConstructionInProgressMember" xlink:label="us-gaap_ConstructionInProgressMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConstructionInProgressMember" xlink:to="us-gaap_ConstructionInProgressMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConstructionInProgressMember_lbl" xml:lang="en-US">Construction in Progress [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConstructionInProgressMember_lbl" xml:lang="en-US">Capital work-in-progress</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" />
    <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:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xml:lang="en-US">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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_lbl" xml:lang="en-US">Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, Accumulated Depreciation and Amortization</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_lbl" xml:lang="en-US">Less: accumulated depreciation and amortization</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_lbl" xml:lang="en-US">Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_lbl" xml:lang="en-US">Net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentMember" xlink:label="us-gaap_PropertyPlantAndEquipmentMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentMember" xlink:to="us-gaap_PropertyPlantAndEquipmentMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentMember_lbl" xml:lang="en-US">Property, Plant and Equipment [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentMember_lbl" xml:lang="en-US">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_ScheduleOfGoodwillTable" xlink:label="us-gaap_ScheduleOfGoodwillTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfGoodwillTable" xlink:to="us-gaap_ScheduleOfGoodwillTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfGoodwillTable_lbl" xml:lang="en-US">Schedule of Goodwill [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillLineItems" xlink:label="us-gaap_GoodwillLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_GoodwillLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillLineItems_lbl" xml:lang="en-US">Goodwill [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GoodwillLineItems_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_GoodwillForeignCurrencyTranslationGainLoss" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:to="us-gaap_GoodwillForeignCurrencyTranslationGainLoss_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss_lbl" xml:lang="en-US">Goodwill, Foreign Currency Translation Gain (Loss)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss_lbl" xml:lang="en-US">Foreign currency 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_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xml:lang="en-US">Schedule of Finite-Lived Intangible 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_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_AcquiredIntangibleAssetsMember" xlink:label="inod_AcquiredIntangibleAssetsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_AcquiredIntangibleAssetsMember" xlink:to="inod_AcquiredIntangibleAssetsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_AcquiredIntangibleAssetsMember_lbl" xml:lang="en-US">This member stands for acquired intangible assets.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_AcquiredIntangibleAssetsMember_lbl" xml:lang="en-US">Acquired Intangible Assets [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_AcquiredIntangibleAssetsMember_lbl" xml:lang="en-US">Acquired 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_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DevelopedTechnologyRightsMember" xlink:to="us-gaap_DevelopedTechnologyRightsMember_lbl" />
    <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:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DevelopedTechnologyRightsMember_lbl" xml:lang="en-US">Developed technology</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerRelationshipsMember" xlink:to="us-gaap_CustomerRelationshipsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CustomerRelationshipsMember_lbl" xml:lang="en-US">Customer Relationships [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CustomerRelationshipsMember_lbl" xml:lang="en-US">Customer relationships</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TrademarksAndTradeNamesMember" xlink:label="us-gaap_TrademarksAndTradeNamesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TrademarksAndTradeNamesMember" xlink:to="us-gaap_TrademarksAndTradeNamesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TrademarksAndTradeNamesMember_lbl" xml:lang="en-US">Trademarks and Trade Names [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TrademarksAndTradeNamesMember_lbl" xml:lang="en-US">Trademarks and tradenames</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PatentsMember" xlink:label="us-gaap_PatentsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PatentsMember" xlink:to="us-gaap_PatentsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PatentsMember_lbl" xml:lang="en-US">Patents [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PatentsMember_lbl" xml:lang="en-US">Patents</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DatabasesMember" xlink:label="us-gaap_DatabasesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DatabasesMember" xlink:to="us-gaap_DatabasesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DatabasesMember_lbl" xml:lang="en-US">Database Rights [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DatabasesMember_lbl" xml:lang="en-US">Media Contact Database</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_CapitalizedSoftwareDevelopmentCostMember" xlink:label="inod_CapitalizedSoftwareDevelopmentCostMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_CapitalizedSoftwareDevelopmentCostMember" xlink:to="inod_CapitalizedSoftwareDevelopmentCostMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_CapitalizedSoftwareDevelopmentCostMember_lbl" xml:lang="en-US">Collection of computer programs and related data that provide instructions to a computer cost.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_CapitalizedSoftwareDevelopmentCostMember_lbl" xml:lang="en-US">Capitalized Software Development Cost [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_CapitalizedSoftwareDevelopmentCostMember_lbl" xml:lang="en-US">Capitalized Developed Software</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember" xlink:label="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember" xlink:to="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_lbl" xml:lang="en-US">Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program,</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_lbl" xml:lang="en-US">Capitalized Software Development Cost - Work in Progress [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_lbl" xml:lang="en-US">Capitalized Developed Software - in Progress</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_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_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Gross</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xml:lang="en-US">Gross Carrying Value</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Amortization</link:label>
    <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</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" xlink:label="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" xlink:to="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment_lbl" xml:lang="en-US">Accumulated amount of foreign currency translation adjustments on assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Foreign Currency Translation Adjustment</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment_lbl" xml:lang="en-US">Foreign Currency 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_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Net</link:label>
    <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 Carrying Value</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year One</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" 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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Two</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" 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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Three</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" 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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Four</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" 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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Five</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xml:lang="en-US">2029</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter" xlink:label="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter" xlink:to="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter_lbl" xml:lang="en-US">Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized thereafter excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter_lbl" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Thereafter</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter_lbl" xml:lang="en-US">Thereafter</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_lbl" />
    <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 of Intangible Assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xml:lang="en-US">Amortization expense</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_IncomeTaxesTable" xlink:label="inod_IncomeTaxesTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_IncomeTaxesTable" xlink:to="inod_IncomeTaxesTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_IncomeTaxesTable_lbl" xml:lang="en-US">Schedule of information relating to income taxes.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_IncomeTaxesTable_lbl" xml:lang="en-US">Income Taxes [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_IncomeTaxesLineItems" xlink:label="inod_IncomeTaxesLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_IncomeTaxesLineItems" xlink:to="inod_IncomeTaxesLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_IncomeTaxesLineItems_lbl" xml:lang="en-US">Income Taxes [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_IncomeTaxesLineItems_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_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US">Current Income Tax Expense (Benefit), Continuing Operations [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US">Current income tax provision:</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentForeignTaxExpenseBenefit" xlink:to="us-gaap_CurrentForeignTaxExpenseBenefit_lbl" />
    <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 Foreign Tax Expense (Benefit)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit_lbl" xml:lang="en-US">Foreign</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit_lbl" />
    <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 Federal Tax Expense (Benefit)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit_lbl" xml:lang="en-US">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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" />
    <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 State and Local Tax Expense (Benefit)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" xml:lang="en-US">State and local</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Current Income Tax Expense (Benefit)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Current 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_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US">Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US">Deferred income tax provision:</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_lbl" />
    <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 Foreign Income Tax Expense (Benefit)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Foreign</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl" />
    <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 Federal Income Tax Expense (Benefit)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl" />
    <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 State and Local Income Tax Expense (Benefit)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">State and local</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred Income Tax Expense (Benefit)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" 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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xml:lang="en-US">Federal income tax expense at statutory rate</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl" xml:lang="en-US">Effect of:</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_EffectiveIncomeTaxRateReconciliationSection162Percentage" xlink:label="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage" xlink:to="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage_lbl" xml:lang="en-US">Effective income tax rate reconciliation section 162 percentage.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation Section 162 Percentage</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage_lbl" xml:lang="en-US">Section 162 (m)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, GILTI, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent_lbl" xml:lang="en-US">Global Intangible Low-Taxed Income (GILTI)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Contingency, Foreign, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign_lbl" xml:lang="en-US">Tax effects of foreign operations</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp" xlink:label="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp" xlink:to="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp_lbl" xml:lang="en-US">Amount of Effective Income Tax Rate Reconciliation, Return to Provision True Up.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation Return to Provision True Up</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp_lbl" xml:lang="en-US">Return to provision true up</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses" xlink:label="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses" xlink:to="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses_lbl" xml:lang="en-US">Percentage of  foreign exchange gains and losses.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses_lbl" xml:lang="en-US">Foreign operations permanent difference - foreign exchange gains and losses</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses_lbl" xml:lang="en-US">Foreign operations permanent differences - foreign exchange gains and losses</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage" xlink:label="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage" xlink:to="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage_lbl" xml:lang="en-US">Effective income tax rate reconciliation withholding tax percentage.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation Withholding Tax Percentage</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage_lbl" xml:lang="en-US">Withholding tax</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Credit, Research, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl" xml:lang="en-US">Research and development credit</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent" xlink:label="inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent" xlink:to="inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent_lbl" xml:lang="en-US">Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax benefit of intercompany settlement.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Settlement, Intercompany, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent_lbl" xml:lang="en-US">Tax effect of intercompany settlement</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" xlink:label="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" xlink:to="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent_lbl" xml:lang="en-US">Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to deemed interest.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Deemed Interest, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent_lbl" xml:lang="en-US">Deemed interest</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_lbl" xml:lang="en-US">Foreign 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_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl" xml:lang="en-US">State income tax net of federal benefit</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInUnrecognizedTaxBenefits" xlink:label="inod_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInUnrecognizedTaxBenefits" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInUnrecognizedTaxBenefits" xlink:to="inod_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInUnrecognizedTaxBenefits_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInUnrecognizedTaxBenefits_lbl" xml:lang="en-US">These lines are represents tax rate of income unrecognized tax benefits.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInUnrecognizedTaxBenefits_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation Increase (Decrease) In Unrecognized Tax Benefits</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInUnrecognizedTaxBenefits_lbl" xml:lang="en-US">Increase (decrease) in unrecognized tax benefits (ASC 740)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US">Change in 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_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-based Payment Arrangement, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_lbl" xml:lang="en-US">Effect of 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_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Other Reconciling Items, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_lbl" xml:lang="en-US">Other</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xml:lang="en-US">Effective tax rate</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsGrossAbstract" xlink:label="us-gaap_DeferredTaxAssetsGrossAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsGrossAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsGrossAbstract_lbl" xml:lang="en-US">Deferred Tax Assets, Gross [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredTaxAssetsGrossAbstract_lbl" xml:lang="en-US">Deferred income tax assets:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals_lbl" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals_lbl" xml:lang="en-US">Allowances not currently deductible</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_lbl" xml:lang="en-US">Deferred Tax Assets, Property, Plant and Equipment</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_lbl" xml:lang="en-US">Depreciation and amortization</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits_lbl" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits_lbl" xml:lang="en-US">Equity compensation not currently deductible</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" xml:lang="en-US">Deferred Tax Assets, Operating Loss Carryforwards</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" xml:lang="en-US">Net 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_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_lbl" xml:lang="en-US">Deferred Tax Assets, Tax Credit Carryforwards, Research</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_lbl" xml:lang="en-US">Research and development credits</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid" xlink:label="inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid" xlink:to="inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid_lbl" xml:lang="en-US">Amount of expenses not deductible until paid under deferred tax assets.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid_lbl" xml:lang="en-US">Deferred Tax Assets Expenses Not Deductible Until Paid</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid_lbl" xml:lang="en-US">Expenses not deductible until paid</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="us-gaap_DeferredTaxAssetsOther" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOther" xlink:to="us-gaap_DeferredTaxAssetsOther_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsOther_lbl" xml:lang="en-US">Deferred Tax Assets, Other</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredTaxAssetsOther_lbl" xml:lang="en-US">Other</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsGross_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsGross_lbl" xml:lang="en-US">Deferred Tax Assets, Gross</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredTaxAssetsGross_lbl" xml:lang="en-US">Total gross deferred income tax assets before 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_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US">Deferred Tax Assets, Valuation Allowance</link:label>
    <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:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" 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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl" xml:lang="en-US">Deferred Tax Assets, Net of Valuation Allowance</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl" xml:lang="en-US">Total Deferred income tax assets, net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl" xml:lang="en-US">Total deferred income tax assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract" xlink:label="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract_lbl" xml:lang="en-US">Components of Deferred Tax Liabilities [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract_lbl" xml:lang="en-US">Deferred income tax liabilities:</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsAmortizationOfIntangibleAssets" xlink:label="inod_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsAmortizationOfIntangibleAssets" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsAmortizationOfIntangibleAssets" xlink:to="inod_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsAmortizationOfIntangibleAssets_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsAmortizationOfIntangibleAssets_lbl" xml:lang="en-US">Amount of deferred tax liability attributable to taxable temporary differences from amortization of intangible assets including goodwill.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsAmortizationOfIntangibleAssets_lbl" xml:lang="en-US">Deferred Tax Liabilities, Goodwill and Intangible Assets, Amortization of Intangible Assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="inod_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsAmortizationOfIntangibleAssets_lbl" xml:lang="en-US">Amortization of Intangibles</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="us-gaap_DeferredTaxLiabilitiesOther" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesOther" xlink:to="us-gaap_DeferredTaxLiabilitiesOther_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_lbl" xml:lang="en-US">Deferred Tax Liabilities, Other</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_lbl" xml:lang="en-US">Other</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl" xml:lang="en-US">Deferred Tax Liabilities, Gross</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl" xml:lang="en-US">Total deferred income tax liability</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl" xml:lang="en-US">Total deferred income tax liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" xml:lang="en-US">Deferred Tax Assets, Net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" xml:lang="en-US">Net deferred income tax assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" xml:lang="en-US">Net deferred income tax assets</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_lbl" />
    <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 (Loss) from Continuing Operations before Income Taxes, Domestic</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_lbl" xml:lang="en-US">United States</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_lbl" />
    <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 (Loss) from Continuing Operations before Income Taxes, Foreign</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_lbl" xml:lang="en-US">Foreign</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefits" xlink:to="us-gaap_UnrecognizedTaxBenefits_lbl" />
    <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:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl" xml:lang="en-US">Balance at end of the year</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl" xml:lang="en-US">Balance at beginning of the year</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl" xml:lang="en-US">Reserves for uncertain tax positions</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl" xml:lang="en-US">Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl" xml:lang="en-US">Decrease for prior year tax positions</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_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_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_lbl" xml:lang="en-US">Unrecognized Tax Benefits, Increase Resulting from Prior Period Tax Positions</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_lbl" xml:lang="en-US">Increase for current year tax positions</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" xlink:label="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" xlink:to="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense_lbl" xml:lang="en-US">Unrecognized Tax Benefits, Interest on Income Taxes Expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense_lbl" xml:lang="en-US">Interest accrual</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation" xlink:label="inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation" xlink:to="inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation_lbl" xml:lang="en-US">Amount of increase decrease in unrecognized tax benefits resulting from foreign currency translation.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation_lbl" xml:lang="en-US">Unrecognized Tax Benefits Increase Decreases Resulting From Foreign Currency Translation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation_lbl" xml:lang="en-US">Foreign currency remeasurement</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxAuthorityAxis_lbl" xml:lang="en-US">Income Tax Authority [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_IncomeTaxAuthorityDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxAuthorityDomain_lbl" xml:lang="en-US">Income Tax Authority [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DomesticCountryMember" xlink:to="us-gaap_DomesticCountryMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DomesticCountryMember_lbl" xml:lang="en-US">Domestic Tax Authority [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DomesticCountryMember_lbl" xml:lang="en-US">U.S. federal</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StateAndLocalJurisdictionMember" xlink:label="us-gaap_StateAndLocalJurisdictionMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StateAndLocalJurisdictionMember" xlink:to="us-gaap_StateAndLocalJurisdictionMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StateAndLocalJurisdictionMember_lbl" xml:lang="en-US">State and Local Jurisdiction [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StateAndLocalJurisdictionMember_lbl" xml:lang="en-US">State</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignCountryMember" xlink:label="us-gaap_ForeignCountryMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCountryMember" xlink:to="us-gaap_ForeignCountryMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignCountryMember_lbl" xml:lang="en-US">Foreign Tax Jurisdiction [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ForeignCountryMember_lbl" xml:lang="en-US">Foreign tax jurisdiction</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ConsolidatedEntitiesAxis_lbl" xml:lang="en-US">Consolidated Entities [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="srt_ConsolidatedEntitiesDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ConsolidatedEntitiesDomain_lbl" xml:lang="en-US">Consolidated Entities [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_CanadianSubsidiariesMember" xlink:label="inod_CanadianSubsidiariesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_CanadianSubsidiariesMember" xlink:to="inod_CanadianSubsidiariesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_CanadianSubsidiariesMember_lbl" xml:lang="en-US">Represents the information of Canadian subsidiaries.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_CanadianSubsidiariesMember_lbl" xml:lang="en-US">Canadian Subsidiaries [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_CanadianSubsidiariesMember_lbl" xml:lang="en-US">Canadian subsidiaries</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_GermanAndUnitedKingdomSubsidiariesMember" xlink:label="inod_GermanAndUnitedKingdomSubsidiariesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_GermanAndUnitedKingdomSubsidiariesMember" xlink:to="inod_GermanAndUnitedKingdomSubsidiariesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_GermanAndUnitedKingdomSubsidiariesMember_lbl" xml:lang="en-US">Represents the information of German and United Kingdom subsidiaries.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_GermanAndUnitedKingdomSubsidiariesMember_lbl" xml:lang="en-US">German and United Kingdom Subsidiaries [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_GermanAndUnitedKingdomSubsidiariesMember_lbl" xml:lang="en-US">German and United Kingdom subsidiaries</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_AgilityMember" xlink:label="inod_AgilityMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_AgilityMember" xlink:to="inod_AgilityMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_AgilityMember_lbl" xml:lang="en-US">It represents information pertaining to Agility segment.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_AgilityMember_lbl" xml:lang="en-US">Agility [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_AgilityMember_lbl" xml:lang="en-US">Agility</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:to="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_lbl" xml:lang="en-US">Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_lbl" xml:lang="en-US">Increase in total 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_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLossCarryforwards" xlink:to="us-gaap_OperatingLossCarryforwards_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLossCarryforwards_lbl" xml:lang="en-US">Operating Loss Carryforwards</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLossCarryforwards_lbl" xml:lang="en-US">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_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration_lbl" xml:lang="en-US">Deferred Tax Assets, Operating Loss Carryforwards, Subject to Expiration</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration_lbl" xml:lang="en-US">NOL carryforwards subject to expiration</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration_lbl" xml:lang="en-US">Deferred Tax Assets, Operating Loss Carryforwards, Not Subject to Expiration</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration_lbl" xml:lang="en-US">Research and development credits not subject to expiration</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:to="us-gaap_UndistributedEarningsOfForeignSubsidiaries_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries_lbl" xml:lang="en-US">Undistributed Earnings of Foreign Subsidiaries</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries_lbl" xml:lang="en-US">Foreign subsidiaries amount</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentTable_lbl" xml:lang="en-US">Schedule of Long-term Debt Instruments [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentLineItems_lbl" xml:lang="en-US">Debt Instrument [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentLineItems_lbl" xml:lang="en-US">Long-term obligations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent" xlink:label="us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent" xlink:to="us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent_lbl" xml:lang="en-US">Postemployment Benefits Liability</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent_lbl" xml:lang="en-US">Pension obligations - accrued pension liability</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_MicrosoftLicensesObligations" xlink:label="inod_MicrosoftLicensesObligations" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_MicrosoftLicensesObligations" xlink:to="inod_MicrosoftLicensesObligations_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_MicrosoftLicensesObligations_lbl" xml:lang="en-US">Amount of Microsoft licenses obligations as of balance sheet date.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_MicrosoftLicensesObligations_lbl" xml:lang="en-US">Microsoft Licenses Obligations</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_MicrosoftLicensesObligations_lbl" xml:lang="en-US">Microsoft licenses</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_TotalLongTermObligations" xlink:label="inod_TotalLongTermObligations" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_TotalLongTermObligations" xlink:to="inod_TotalLongTermObligations_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_TotalLongTermObligations_lbl" xml:lang="en-US">Total amount of long-term obligations of the entity.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_TotalLongTermObligations_lbl" xml:lang="en-US">Total Long-Term Obligations</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="inod_TotalLongTermObligations_lbl" xml:lang="en-US">Total long-term obligations</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LicensesObligationsAmountPayableAnnually" xlink:label="inod_LicensesObligationsAmountPayableAnnually" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LicensesObligationsAmountPayableAnnually" xlink:to="inod_LicensesObligationsAmountPayableAnnually_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LicensesObligationsAmountPayableAnnually_lbl" xml:lang="en-US">Amount payable annually over the term of the license agreement.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LicensesObligationsAmountPayableAnnually_lbl" xml:lang="en-US">Licenses Obligations, Amount Payable Annually</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LicensesObligationsAmountPayableAnnually_lbl" xml:lang="en-US">Microsoft licenses, Amount payable annually over the term of the agreement</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LitigationReserve" xlink:label="us-gaap_LitigationReserve" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LitigationReserve" xlink:to="us-gaap_LitigationReserve_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LitigationReserve_lbl" xml:lang="en-US">Estimated Litigation Liability</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LitigationReserve_lbl" xml:lang="en-US">Estimated litigation liability</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_InterestRateDescriptionLitigation" xlink:label="inod_InterestRateDescriptionLitigation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_InterestRateDescriptionLitigation" xlink:to="inod_InterestRateDescriptionLitigation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_InterestRateDescriptionLitigation_lbl" xml:lang="en-US">Description of the interest rate relating to Litigation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_InterestRateDescriptionLitigation_lbl" xml:lang="en-US">Interest Rate Description Litigation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_InterestRateDescriptionLitigation_lbl" xml:lang="en-US">Interest rate description litigation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyAccrualAtCarryingValue" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyAccrualAtCarryingValue" xlink:to="us-gaap_LossContingencyAccrualAtCarryingValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue_lbl" xml:lang="en-US">Litigation Settlement, Expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue_lbl" xml:lang="en-US">Litigation settlement expense</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeLeaseDescriptionTable" xlink:to="us-gaap_LesseeLeaseDescriptionTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeLeaseDescriptionTable_lbl" xml:lang="en-US">Lessee, Lease, Description [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeLeaseDescriptionLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems_lbl" xml:lang="en-US">Lessee, Lease, Description [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems_lbl" xml:lang="en-US">Operating Leases</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseTermOfContract" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract_lbl" xml:lang="en-US">Lessee, Operating Lease, Term of Contract</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract_lbl" xml:lang="en-US">Lease agreements term</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_PercentageOfRentalEscalations" xlink:label="inod_PercentageOfRentalEscalations" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_PercentageOfRentalEscalations" xlink:to="inod_PercentageOfRentalEscalations_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_PercentageOfRentalEscalations_lbl" xml:lang="en-US">Percentage of rental escalations.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_PercentageOfRentalEscalations_lbl" xml:lang="en-US">Percentage of Rental Escalations</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_PercentageOfRentalEscalations_lbl" xml:lang="en-US">Percentage of rental escalations</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LongTermOperatingLeaseMember" xlink:label="inod_LongTermOperatingLeaseMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LongTermOperatingLeaseMember" xlink:to="inod_LongTermOperatingLeaseMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LongTermOperatingLeaseMember_lbl" xml:lang="en-US">This member represents of long term operating lease.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LongTermOperatingLeaseMember_lbl" xml:lang="en-US">Long Term Operating Lease [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LongTermOperatingLeaseMember_lbl" xml:lang="en-US">Long-term operating leases</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ShortTermOperatingLeaseMember" xlink:label="inod_ShortTermOperatingLeaseMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ShortTermOperatingLeaseMember" xlink:to="inod_ShortTermOperatingLeaseMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ShortTermOperatingLeaseMember_lbl" xml:lang="en-US">This member represents of short term operating lease.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ShortTermOperatingLeaseMember_lbl" xml:lang="en-US">Short Term Operating Lease [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_ShortTermOperatingLeaseMember_lbl" xml:lang="en-US">Short-term operating leases</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseExpense" xlink:to="us-gaap_OperatingLeaseExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseExpense_lbl" xml:lang="en-US">Operating Lease, Expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseExpense_lbl" xml:lang="en-US">Total rent expense</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year One</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US">2025</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Two</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US">2026</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Three</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US">2027</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Four</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US">2028</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Five</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" xml:lang="en-US">2029</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LesseeOperatingLeaseLiabilityToBePaidThereafter" xlink:label="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter" xlink:to="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter_lbl" xml:lang="en-US">Amount of lessee's undiscounted obligation for lease payment for operating lease due thereafter. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Thereafter</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter_lbl" xml:lang="en-US">2030 and thereafter</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US">Total lease payments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US">Less: Interest</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US">Operating Lease, Liability</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US">Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US">Net present value of lease liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xml:lang="en-US">Operating Lease, Weighted Average Remaining Lease Term</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xml:lang="en-US">Weighted-average lease term remaining (in months)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xml:lang="en-US">Operating Lease, Weighted Average Discount Rate, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xml:lang="en-US">Weighted-average discount rate</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:label="us-gaap_DefinedBenefitPlanDisclosureLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:to="us-gaap_DefinedBenefitPlanDisclosureLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanDisclosureLineItems_lbl" xml:lang="en-US">Defined Benefit Plan Disclosure [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DefinedBenefitPlanDisclosureLineItems_lbl" xml:lang="en-US">Pension Benefits</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanBenefitObligation" xlink:label="us-gaap_DefinedBenefitPlanBenefitObligation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanBenefitObligation" xlink:to="us-gaap_DefinedBenefitPlanBenefitObligation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanBenefitObligation_lbl" xml:lang="en-US">Defined Benefit Plan, Benefit Obligation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_DefinedBenefitPlanBenefitObligation_lbl" xml:lang="en-US">Projected benefit obligation at end of the year</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_DefinedBenefitPlanBenefitObligation_lbl" xml:lang="en-US">Projected benefit obligation at beginning of 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_DefinedBenefitPlanServiceCost" xlink:label="us-gaap_DefinedBenefitPlanServiceCost" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanServiceCost" xlink:to="us-gaap_DefinedBenefitPlanServiceCost_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanServiceCost_lbl" xml:lang="en-US">Defined Benefit Plan, Service Cost</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DefinedBenefitPlanServiceCost_lbl" xml:lang="en-US">Service cost</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanInterestCost" xlink:label="us-gaap_DefinedBenefitPlanInterestCost" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanInterestCost" xlink:to="us-gaap_DefinedBenefitPlanInterestCost_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanInterestCost_lbl" xml:lang="en-US">Defined Benefit Plan, Interest Cost</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DefinedBenefitPlanInterestCost_lbl" xml:lang="en-US">Interest cost</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList" xlink:label="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList" xlink:to="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList_lbl" xml:lang="en-US">Defined Benefit Plan, Net Periodic Benefit Cost (Credit), Interest Cost, Statement of Income or Comprehensive Income [Extensible Enumeration]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList_lbl" xml:lang="en-US">Defined Benefit Plan, Net Periodic Benefit Cost (Credit), Interest Cost, Statement of Income or Comprehensive Income [Extensible Enumeration]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanActuarialGainLoss" xlink:label="us-gaap_DefinedBenefitPlanActuarialGainLoss" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanActuarialGainLoss" xlink:to="us-gaap_DefinedBenefitPlanActuarialGainLoss_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanActuarialGainLoss_lbl" xml:lang="en-US">Defined Benefit Plan, Benefit Obligation, Actuarial Gain (Loss)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DefinedBenefitPlanActuarialGainLoss_lbl" xml:lang="en-US">Actuarial loss (gain)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss" xlink:label="us-gaap_DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss" xlink:to="us-gaap_DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss_lbl" xml:lang="en-US">Defined Benefit Plan, Plan Assets, Foreign Currency Translation Gain (Loss)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss_lbl" xml:lang="en-US">Foreign currency exchange rates changes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid" xlink:label="us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid" xlink:to="us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid_lbl" xml:lang="en-US">Defined Benefit Plan, Benefit Obligation, Benefits Paid</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid_lbl" xml:lang="en-US">Benefits paid</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit" xlink:label="us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit" xlink:to="us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit_lbl" xml:lang="en-US">Defined Benefit Plan, Actuarial Gain (Loss), Immediate Recognition as Component in Net Periodic Benefit (Cost) Credit</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit_lbl" xml:lang="en-US">Actuarial loss recognized</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList" xlink:label="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList" xlink:to="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList_lbl" xml:lang="en-US">Defined Benefit Plan, Net Periodic Benefit (Cost) Credit, Immediate Recognition of Actuarial Gain (Loss), Statement of Income or Comprehensive Income [Extensible Enumeration]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:label="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:to="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_lbl" xml:lang="en-US">Defined Benefit Plan, Net Periodic Benefit Cost (Credit)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_lbl" xml:lang="en-US">Net periodic pension cost</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities" xlink:to="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities_lbl" xml:lang="en-US">Liability, Defined Benefit Plan, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities_lbl" xml:lang="en-US">Current accrued benefit cost</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent" xlink:to="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent_lbl" xml:lang="en-US">Liability, Defined Benefit Plan, Noncurrent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent_lbl" xml:lang="en-US">Non-current accrued benefit cost</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent" xlink:to="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent_lbl" xml:lang="en-US">Liability, Defined Benefit Plan</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent_lbl" xml:lang="en-US">Total amount recognized</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:label="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_lbl" xml:lang="en-US">Schedule of Defined Benefit Plans Disclosures [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" xlink:label="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" xlink:to="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate_lbl" xml:lang="en-US">Defined Benefit Plan, Assumptions Used Calculating Benefit Obligation, Discount Rate</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate_lbl" xml:lang="en-US">Discount rate</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease" xlink:label="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease" xlink:to="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease_lbl" xml:lang="en-US">Defined Benefit Plan, Assumptions Used Calculating Benefit Obligation, Rate of Compensation Increase</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease_lbl" xml:lang="en-US">Rate of increase in compensation level</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths_lbl" xml:lang="en-US">Defined Benefit Plan, Expected Future Benefit Payment, Next Twelve Months</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths_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_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo_lbl" xml:lang="en-US">Defined Benefit Plan, Expected Future Benefit Payment, Year Two</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo_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_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree_lbl" xml:lang="en-US">Defined Benefit Plan, Expected Future Benefit Payment, Year Three</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree_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_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour_lbl" xml:lang="en-US">Defined Benefit Plan, Expected Future Benefit Payment, Year Four</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour_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_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive_lbl" xml:lang="en-US">Defined Benefit Plan, Expected Future Benefit Payment, Year Five</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive_lbl" xml:lang="en-US">2029</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearTen" xlink:label="inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearTen" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearTen" xlink:to="inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearTen_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearTen_lbl" xml:lang="en-US">Amount of benefit for defined benefit plan expected to be paid in sixth fiscal year to tenth fiscal year following current fiscal year.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearTen_lbl" xml:lang="en-US">Defined Benefit Plan, Expected Future Benefit Payment, Year Six to Year Ten</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearTen_lbl" xml:lang="en-US">2030 to 2034</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_DefinedBenefitPlanExpectedFutureBenefitPayments" xlink:label="inod_DefinedBenefitPlanExpectedFutureBenefitPayments" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_DefinedBenefitPlanExpectedFutureBenefitPayments" xlink:to="inod_DefinedBenefitPlanExpectedFutureBenefitPayments_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_DefinedBenefitPlanExpectedFutureBenefitPayments_lbl" xml:lang="en-US">Amount of estimated future benefit payments for defined benefit plan.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_DefinedBenefitPlanExpectedFutureBenefitPayments_lbl" xml:lang="en-US">Defined Benefit Plan Expected Future Benefit Payments</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="inod_DefinedBenefitPlanExpectedFutureBenefitPayments_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_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl" />
    <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 Party [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="us-gaap_RelatedPartyDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyDomain_lbl" xml:lang="en-US">Related Party [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="srt_SubsidiariesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_SubsidiariesMember" xlink:to="srt_SubsidiariesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_SubsidiariesMember_lbl" xml:lang="en-US">Subsidiaries [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_SubsidiariesMember_lbl" xml:lang="en-US">Subsidiaries</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible" xlink:label="inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible" xlink:to="inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible_lbl" xml:lang="en-US">The period of service by substantially all of its U.S. employees to become eligible for the U.S. Defined Contribution Pension Plan.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible_lbl" xml:lang="en-US">Defined Contribution Pension Plan Period Of Service To Become Eligible</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible_lbl" xml:lang="en-US">Period of service to become eligible</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionExpense" xlink:label="us-gaap_PensionExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionExpense" xlink:to="us-gaap_PensionExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PensionExpense_lbl" xml:lang="en-US">Pension Cost (Reversal of Cost)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PensionExpense_lbl" xml:lang="en-US">Pension expense</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation" xlink:label="us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation" xlink:to="us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation_lbl" xml:lang="en-US">Defined Benefit Plan, Accumulated Benefit Obligation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation_lbl" xml:lang="en-US">Accumulated benefit obligation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="us-gaap_ScheduleOfStockByClassTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_ScheduleOfStockByClassTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfStockByClassTable_lbl" xml:lang="en-US">Schedule of Stock by Class [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_July2019Member" xlink:label="inod_July2019Member" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_July2019Member" xlink:to="inod_July2019Member_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_July2019Member_lbl" xml:lang="en-US">This member stands for repurchased share under the July 2019 authorization.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_July2019Member_lbl" xml:lang="en-US">July 2019 [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_July2019Member_lbl" xml:lang="en-US">July 2019</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockLineItems" xlink:label="us-gaap_ClassOfStockLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_ClassOfStockLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ClassOfStockLineItems_lbl" xml:lang="en-US">Class of Stock [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ClassOfStockLineItems_lbl" xml:lang="en-US">Capital Stock</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_NumberOfVotesForEachShareOfCommonStock" xlink:label="inod_NumberOfVotesForEachShareOfCommonStock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_NumberOfVotesForEachShareOfCommonStock" xlink:to="inod_NumberOfVotesForEachShareOfCommonStock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_NumberOfVotesForEachShareOfCommonStock_lbl" xml:lang="en-US">Represents the number of votes for each share of common stock of the entity.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_NumberOfVotesForEachShareOfCommonStock_lbl" xml:lang="en-US">Number Of Votes For Each Share Of Common Stock</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_NumberOfVotesForEachShareOfCommonStock_lbl" xml:lang="en-US">Number of votes 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_CommonStockDividendsPerShareDeclared" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockDividendsPerShareDeclared" xlink:to="us-gaap_CommonStockDividendsPerShareDeclared_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared_lbl" xml:lang="en-US">Common Stock, Dividends, Per Share, Declared</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared_lbl" xml:lang="en-US">Dividends declared (in dollars per share)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl" xml:lang="en-US">Common Stock, Capital Shares Reserved for Future Issuance</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl" xml:lang="en-US">Common stock reserved available for future issuance</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StockRepurchaseProgramAuthorizedAmount1" xlink:label="srt_StockRepurchaseProgramAuthorizedAmount1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StockRepurchaseProgramAuthorizedAmount1" xlink:to="srt_StockRepurchaseProgramAuthorizedAmount1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StockRepurchaseProgramAuthorizedAmount1_lbl" xml:lang="en-US">Stock Repurchase Program, Authorized Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_StockRepurchaseProgramAuthorizedAmount1_lbl" xml:lang="en-US">Shares authorized to repurchase</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodShares" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xml:lang="en-US">Stock Repurchased During Period, Shares</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xml:lang="en-US">Purchase of treasury stock (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonValue" xlink:to="us-gaap_TreasuryStockCommonValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonValue_lbl" xml:lang="en-US">Treasury Stock, Common, Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockCommonValue_lbl" xml:lang="en-US">Treasury Stock, common value</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" />
    <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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" />
    <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:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted average fair value of options granted (in dollars per share)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl" xml:lang="en-US">Risk-free 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_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" xml:lang="en-US">Expected term (years)</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl" xml:lang="en-US">Expected volatility factor</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl" xml:lang="en-US">Expected dividends</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:label="us-gaap_OptionIndexedToIssuersEquityEquityAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:to="us-gaap_OptionIndexedToIssuersEquityEquityAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OptionIndexedToIssuersEquityEquityAxis_lbl" xml:lang="en-US">Option Indexed to Issuer's Equity [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain_lbl" xml:lang="en-US">Option Indexed to Issuers Equity, Type [Domain]</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_TitleOfIndividualAxis_lbl" xml:lang="en-US">Title of Individual [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_lbl" xml:lang="en-US">Relationship to Entity [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_DirectorMember" xlink:label="srt_DirectorMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_DirectorMember" xlink:to="srt_DirectorMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_DirectorMember_lbl" xml:lang="en-US">Non Employee Director [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_DirectorMember_lbl" xml:lang="en-US">Non employee director</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_TwoThousandThirteenStockPlanMember" xlink:label="inod_TwoThousandThirteenStockPlanMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_TwoThousandThirteenStockPlanMember" xlink:to="inod_TwoThousandThirteenStockPlanMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_TwoThousandThirteenStockPlanMember_lbl" xml:lang="en-US">Represents Information regarding stock plan.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_TwoThousandThirteenStockPlanMember_lbl" xml:lang="en-US">2013 Stock Plan [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_TwoThousandThirteenStockPlanMember_lbl" xml:lang="en-US">2013 Stock Plan</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="inod_TwoThousandThirteenStockPlanMember_lbl" xml:lang="en-US">2013 Stock Plan</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_TwoThousandTwentyOneEquityCompensationPlanMember" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_TwoThousandTwentyOneEquityCompensationPlanMember" xlink:to="inod_TwoThousandTwentyOneEquityCompensationPlanMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanMember_lbl" xml:lang="en-US">Represents the information pertaining to 2021 Equity Compensation Plan.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanMember_lbl" xml:lang="en-US">2021 Stock Plan [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanMember_lbl" xml:lang="en-US">2021 Stock Plan</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanMember_lbl" xml:lang="en-US">2021 Stock Plan</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Outstanding, Number</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US">Number of Options, Outstanding - Ending balance (in shares)</link:label>
    <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 Options, Outstanding - Beginning balance (in shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US">Number of 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Grants In Period, Net Of Forfeitures</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_lbl" xml:lang="en-US">Number of Options, Granted (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Forfeitures and Expirations In Period</link:label>
    <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 Options, Forfeited/Expired (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Exercisable, Number</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xml:lang="en-US">Number of Options Exercisable (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Vested and Expected To Vest, Outstanding, Number</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl" xml:lang="en-US">Number of Options, Vested and Expected to Vest (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Outstanding Ending balance (in dollars per shares)</link:label>
    <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 Outstanding beginning balance (in dollars per shares)</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Share-Based Compensation Arrangements By Share-Based Payment Award, Options, Grants In Period, Weighted Average Exercise Price</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Granted (in dollars per shares)</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Share-Based Compensation Arrangements By Share-Based Payment Award, Options, Exercises In Period, Weighted Average Exercise Price</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Exercised (in dollars per shares)</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Forfeitures and Expirations In Period, Weighted Average Exercise Price</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Forfeited/Expired (in dollars per shares)</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Exercisable (in dollars per shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Vested and Expected To Vest, Outstanding, Weighted Average Exercise Price</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Vested and Expected to Vest (in dollars per shares)</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US">Weighted Average Remaining Contractual Term Outstanding (in years)</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US">Weighted Average Remaining Contractual Term Exercisable (in years)</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Vested and Expected To Vest, Outstanding, Weighted Average Remaining Contractual Term</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US">Weighted Average Remaining Contractual Term Vested and Expected to Vest (in years)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Outstanding, Intrinsic Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xml:lang="en-US">Aggregate Intrinsic Value, Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Exercisable, Intrinsic Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl" xml:lang="en-US">Aggregate Intrinsic Value, Exercisable</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Vested and Expected To Vest, Outstanding, Aggregate Intrinsic Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" xml:lang="en-US">Aggregate Intrinsic Value, Vested and Expected to Vest</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_NonEmployeeMember" xlink:label="inod_NonEmployeeMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_NonEmployeeMember" xlink:to="inod_NonEmployeeMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_NonEmployeeMember_lbl" xml:lang="en-US">Non-employees and non-employees directors.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_NonEmployeeMember_lbl" xml:lang="en-US">Non Employee [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_NonEmployeeMember_lbl" xml:lang="en-US">Non-employees and non-employee directors</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US">Number of Restricted Stock Units, Unvested at End of the year</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US">Number of Restricted Stock Units, Unvested at Beginning of 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xml:lang="en-US">Number of Restricted Stock Units, Granted</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedPaymentArrangementGranteeStatusExtensibleList" xlink:label="us-gaap_ShareBasedPaymentArrangementGranteeStatusExtensibleList" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedPaymentArrangementGranteeStatusExtensibleList" xlink:to="us-gaap_ShareBasedPaymentArrangementGranteeStatusExtensibleList_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedPaymentArrangementGranteeStatusExtensibleList_lbl" xml:lang="en-US">Share-Based Payment Arrangement, Grantee Status [Extensible Enumeration]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" xml:lang="en-US">Number of Restricted Stock Units, Vested</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted-Average Grant Date Fair Value, Outstanding at End of the year</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted-Average Grant Date Fair Value, Outstanding at Beginning of 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted-Average Grant Date Fair Value, Granted</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted-Average Grant Date Fair Value, Vested</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted-Average Grant Date Fair Value, Forfeited/Expired</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember" xlink:to="inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember_lbl" xml:lang="en-US">Represents the information pertaining to other type of 2021 Equity Compensation Plan.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember_lbl" xml:lang="en-US">Two Thousand Twenty One Equity Compensation Plan, Other [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember_lbl" xml:lang="en-US">Other type of award</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_AwardsGrantedPriorToApril112022Member" xlink:label="inod_AwardsGrantedPriorToApril112022Member" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_AwardsGrantedPriorToApril112022Member" xlink:to="inod_AwardsGrantedPriorToApril112022Member_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_AwardsGrantedPriorToApril112022Member_lbl" xml:lang="en-US">Represents the information pertaining to awards granted prior to April 11, 2022.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_AwardsGrantedPriorToApril112022Member_lbl" xml:lang="en-US">Awards Granted Prior to April 11, 2022 [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_AwardsGrantedPriorToApril112022Member_lbl" xml:lang="en-US">Awards granted prior to April 11, 2022</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_AwardsGrantedOnOrAfterApril112022Member" xlink:label="inod_AwardsGrantedOnOrAfterApril112022Member" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_AwardsGrantedOnOrAfterApril112022Member" xlink:to="inod_AwardsGrantedOnOrAfterApril112022Member_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_AwardsGrantedOnOrAfterApril112022Member_lbl" xml:lang="en-US">Represents the information pertaining to awards granted on or after April 11, 2022.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_AwardsGrantedOnOrAfterApril112022Member_lbl" xml:lang="en-US">Awards Granted On or After April 11, 2022 [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_AwardsGrantedOnOrAfterApril112022Member_lbl" xml:lang="en-US">Awards granted on or after April 11, 2022</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights" xlink:label="inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights" xlink:to="inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights_lbl" xml:lang="en-US">Number of shares of our common stock underlying outstanding options or rights under share-based payment arrangement.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Underlying Outstanding Options or Rights</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights_lbl" xml:lang="en-US">Shares of common stock underlying outstanding options or rights</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xml:lang="en-US">Share-based compensation arrangement by share-based payment award, number of shares authorized</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio" xlink:label="inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio" xlink:to="inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio_lbl" xml:lang="en-US">Represents the ratio of shares reserved subject to an option or stock appreciation right granted under award plan.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio_lbl" xml:lang="en-US">Reservation of Shares Subject to Option or Stock Appreciation Rights Granted, Ratio</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio_lbl" xml:lang="en-US">Share reserve ratio</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xml:lang="en-US">Employee Service Share-Based Compensation, Nonvested Awards, Total Compensation Cost Not Yet Recognized</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xml:lang="en-US">Compensation cost related to non-vested stock options and restricted stock awards not yet recognized</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xml:lang="en-US">Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xml:lang="en-US">Weighted-average period over which compensation cost recognized</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RedeemableNoncontrollingInterestByLegalEntityTable" xlink:label="us-gaap_RedeemableNoncontrollingInterestByLegalEntityTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RedeemableNoncontrollingInterestByLegalEntityTable" xlink:to="us-gaap_RedeemableNoncontrollingInterestByLegalEntityTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RedeemableNoncontrollingInterestByLegalEntityTable_lbl" xml:lang="en-US">Redeemable Noncontrolling Interest, by Legal Entity [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BalanceSheetLocationAxis_lbl" xml:lang="en-US">Balance Sheet Location [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_BalanceSheetLocationDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BalanceSheetLocationDomain_lbl" xml:lang="en-US">Balance Sheet Location [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RedeemableNoncontrollingInterestLineItems" xlink:label="us-gaap_RedeemableNoncontrollingInterestLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RedeemableNoncontrollingInterestLineItems" xlink:to="us-gaap_RedeemableNoncontrollingInterestLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RedeemableNoncontrollingInterestLineItems_lbl" xml:lang="en-US">Redeemable Noncontrolling Interest [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RedeemableNoncontrollingInterestLineItems_lbl" xml:lang="en-US">Redemption of non-controlling interest</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_NoncontrollingInterestRedemptionPercentageByParent" xlink:label="inod_NoncontrollingInterestRedemptionPercentageByParent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_NoncontrollingInterestRedemptionPercentageByParent" xlink:to="inod_NoncontrollingInterestRedemptionPercentageByParent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_NoncontrollingInterestRedemptionPercentageByParent_lbl" xml:lang="en-US">The Redemption of parent entity's interest in net assets of the subsidiary, expressed as a percentage.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_NoncontrollingInterestRedemptionPercentageByParent_lbl" xml:lang="en-US">Noncontrolling Interest, Redemption Percentage by Parent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_NoncontrollingInterestRedemptionPercentageByParent_lbl" xml:lang="en-US">Non controlling interest redemption percentage</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_lbl" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember" xlink:label="us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember" xlink:to="us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_lbl" xml:lang="en-US">Accumulated Defined Benefit Plans Adjustment Attributable to Parent [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_lbl" xml:lang="en-US">Pension Liability Adjustment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:label="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:to="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_lbl" xml:lang="en-US">Accumulated Gain (Loss), Net, Cash Flow Hedge, Parent [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_lbl" xml:lang="en-US">Fair Value of Derivatives</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedTranslationAdjustmentMember" xlink:label="us-gaap_AccumulatedTranslationAdjustmentMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedTranslationAdjustmentMember" xlink:to="us-gaap_AccumulatedTranslationAdjustmentMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedTranslationAdjustmentMember_lbl" xml:lang="en-US">Accumulated Foreign Currency Adjustment Attributable to Parent [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccumulatedTranslationAdjustmentMember_lbl" xml:lang="en-US">Foreign Currency 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_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_lbl" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_lbl" xml:lang="en-US">Comprehensive income (loss)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_lbl" xml:lang="en-US">Other Comprehensive Income (Loss), before Reclassifications, Net of Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_lbl" xml:lang="en-US">Other comprehensive income (loss) before reclassifications, net of taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:label="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:to="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_lbl" xml:lang="en-US">Total after tax and before reclassification adjustments of other comprehensive income (loss).</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_lbl" xml:lang="en-US">Total Other Comprehensive Income (Loss) Before Reclassifications, Net Of Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_lbl" xml:lang="en-US">Total other comprehensive income (loss) before reclassifications, net of taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" xlink:to="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax_lbl" xml:lang="en-US">Reclassification from Accumulated Other Comprehensive Income, Current Period, Net of Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax_lbl" xml:lang="en-US">Net amount reclassified to earnings</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_lbl" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table]</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_StatementBusinessSegmentsAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementBusinessSegmentsAxis_lbl" xml:lang="en-US">Business Segments [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentDomain" xlink:to="us-gaap_SegmentDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentDomain_lbl" xml:lang="en-US">Segment [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_DdsMember" xlink:label="inod_DdsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_DdsMember" xlink:to="inod_DdsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_DdsMember_lbl" xml:lang="en-US">It represents information pertaining to Digital Data Solutions (DDS) segment.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_DdsMember_lbl" xml:lang="en-US">DDS [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_DdsMember_lbl" xml:lang="en-US">DDS</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_SynodexMember" xlink:label="inod_SynodexMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_SynodexMember" xlink:to="inod_SynodexMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_SynodexMember_lbl" xml:lang="en-US">It represents information pertaining to Synodex segment.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_SynodexMember_lbl" xml:lang="en-US">Synodex [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="inod_SynodexMember_lbl" xml:lang="en-US">Synodex</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_SegmentReportingInformationLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingInformationLineItems_lbl" xml:lang="en-US">Segment Reporting Information [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SegmentReportingInformationLineItems_lbl" xml:lang="en-US">Segment reporting and concentrations</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US">Gross Profit</link:label>
    <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_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US">Operating Income (Loss)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US">Segment 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_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl" />
    <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.sec.gov/country/2024/country-2024.xsd#country_CA" xlink:label="country_CA" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_CA" xlink:to="country_CA_lbl" />
    <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:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_CA_lbl" xml:lang="en-US">Canada</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_GB" xlink:label="country_GB" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_GB" xlink:to="country_GB_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_GB_lbl" xml:lang="en-US">UNITED KINGDOM</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="country_GB_lbl" xml:lang="en-US">United Kingdom</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_PH" xlink:label="country_PH" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_PH" xlink:to="country_PH_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_PH_lbl" xml:lang="en-US">PHILIPPINES</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="country_PH_lbl" xml:lang="en-US">Philippines</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_IN" xlink:label="country_IN" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_IN" xlink:to="country_IN_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_IN_lbl" xml:lang="en-US">INDIA</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_IN_lbl" xml:lang="en-US">India</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_LK" xlink:label="country_LK" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_LK" xlink:to="country_LK_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_LK_lbl" xml:lang="en-US">SRI LANKA</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="country_LK_lbl" xml:lang="en-US">Sri Lanka</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd#stpr_IL" xlink:label="stpr_IL" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="stpr_IL" xlink:to="stpr_IL_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="stpr_IL_lbl" xml:lang="en-US">ISRAEL</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="stpr_IL_lbl" xml:lang="en-US">Israel</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_DE" xlink:label="country_DE" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_DE" xlink:to="country_DE_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_DE_lbl" xml:lang="en-US">GERMANY</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_DE_lbl" xml:lang="en-US">Germany</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ForeignCountriesMember" xlink:label="inod_ForeignCountriesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ForeignCountriesMember" xlink:to="inod_ForeignCountriesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ForeignCountriesMember_lbl" xml:lang="en-US">It represents information pertaining to foreign countries.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ForeignCountriesMember_lbl" xml:lang="en-US">Foreign Countries [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="inod_ForeignCountriesMember_lbl" xml:lang="en-US">Total foreign</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" />
    <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:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xml:lang="en-US">Segment reporting and concentrations</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncurrentAssets" xlink:to="us-gaap_NoncurrentAssets_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncurrentAssets_lbl" xml:lang="en-US">Long-Lived Assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NoncurrentAssets_lbl" xml:lang="en-US">Long - lived assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_NL" xlink:label="country_NL" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_NL" xlink:to="country_NL_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_NL_lbl" xml:lang="en-US">NETHERLANDS</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="country_NL_lbl" xml:lang="en-US">The Netherlands</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_OtherPrincipallyEuropeMember" xlink:label="inod_OtherPrincipallyEuropeMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_OtherPrincipallyEuropeMember" xlink:to="inod_OtherPrincipallyEuropeMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_OtherPrincipallyEuropeMember_lbl" xml:lang="en-US">It represents information pertaining to other principally Europe segment.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_OtherPrincipallyEuropeMember_lbl" xml:lang="en-US">Other Principally Europe [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="inod_OtherPrincipallyEuropeMember_lbl" xml:lang="en-US">Others - principally other European countries</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MajorCustomersAxis_lbl" xml:lang="en-US">Major Customers [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="srt_NameOfMajorCustomerDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_NameOfMajorCustomerDomain_lbl" xml:lang="en-US">Name Of Major Customer [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ForeignCustomerMember" xlink:label="inod_ForeignCustomerMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ForeignCustomerMember" xlink:to="inod_ForeignCustomerMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ForeignCustomerMember_lbl" xml:lang="en-US">It represents information pertaining to foreign customer.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ForeignCustomerMember_lbl" xml:lang="en-US">Foreign Customer [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_ForeignCustomerMember_lbl" xml:lang="en-US">Foreign customer</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_OneClientMember" xlink:label="inod_OneClientMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_OneClientMember" xlink:to="inod_OneClientMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_OneClientMember_lbl" xml:lang="en-US">It represents the member of one client.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_OneClientMember_lbl" xml:lang="en-US">One Client [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_OneClientMember_lbl" xml:lang="en-US">One customer</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_TwoClientMember" xlink:label="inod_TwoClientMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_TwoClientMember" xlink:to="inod_TwoClientMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_TwoClientMember_lbl" xml:lang="en-US">It represents the member of two clients.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_TwoClientMember_lbl" xml:lang="en-US">Two Client [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_TwoClientMember_lbl" xml:lang="en-US">Two customer</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ThreeClientsMember" xlink:label="inod_ThreeClientsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ThreeClientsMember" xlink:to="inod_ThreeClientsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ThreeClientsMember_lbl" xml:lang="en-US">It represents the member of three client.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ThreeClientsMember_lbl" xml:lang="en-US">Three Clients [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_ThreeClientsMember_lbl" xml:lang="en-US">Three customer</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ClientMember" xlink:label="inod_ClientMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ClientMember" xlink:to="inod_ClientMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ClientMember_lbl" xml:lang="en-US">It represents the member of client.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ClientMember_lbl" xml:lang="en-US">Client [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_ClientMember_lbl" xml:lang="en-US">Customer</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" />
    <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_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" xml:lang="en-US">Concentration Risk Benchmark [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SalesRevenueNetMember_lbl" xml:lang="en-US">Revenue Benchmark [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SalesRevenueNetMember_lbl" xml:lang="en-US">Sales revenue, net</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember_lbl" />
    <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:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableMember_lbl" xml:lang="en-US">Accounts receivable</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_lbl" xml:lang="en-US">Concentration Risk Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_ConcentrationRiskTypeDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskTypeDomain_lbl" xml:lang="en-US">Concentration Risk Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerConcentrationRiskMember" xlink:to="us-gaap_CustomerConcentrationRiskMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl" xml:lang="en-US">Customer Concentration Risk [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl" xml:lang="en-US">Customer concentration risk</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonUsMember" xlink:label="us-gaap_NonUsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonUsMember" xlink:to="us-gaap_NonUsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonUsMember_lbl" xml:lang="en-US">Non-US [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NonUsMember_lbl" xml:lang="en-US">Non-US</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_NumberOfClient" xlink:label="inod_NumberOfClient" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_NumberOfClient" xlink:to="inod_NumberOfClient_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_NumberOfClient_lbl" xml:lang="en-US">Represents number of clients.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_NumberOfClient_lbl" xml:lang="en-US">Number of Clients</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_NumberOfClient_lbl" xml:lang="en-US">Number of clients</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xml:lang="en-US">Concentration Risk, Percentage</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xml:lang="en-US">Concentration risk, percentage</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:label="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:to="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable_lbl" xml:lang="en-US">Schedule of Earnings Per Share Basic and Diluted [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDilutedLineItems" xlink:label="us-gaap_EarningsPerShareDilutedLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDilutedLineItems" xlink:to="us-gaap_EarningsPerShareDilutedLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDilutedLineItems_lbl" xml:lang="en-US">Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareDilutedLineItems_lbl" xml:lang="en-US">Earnings per share basic and diluted</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" xml:lang="en-US">Incremental Common Shares Attributable To Share-Based Payment Arrangements</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" xml:lang="en-US">Dilutive effect of outstanding options and restricted stock units</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" xml:lang="en-US">Antidilutive Securities Excluded From Computation Of Earnings Per Share, By Antidilutive Securities [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_lbl" xml:lang="en-US">Antidilutive Securities, Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xml:lang="en-US">Antidilutive securities excluded from computation of earnings 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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xml:lang="en-US">Antidilutive Securities Excluded From Computation Of Earnings Per Share, Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xml:lang="en-US">Computation of 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_DerivativeTable" xlink:label="us-gaap_DerivativeTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeTable" xlink:to="us-gaap_DerivativeTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeTable_lbl" xml:lang="en-US">Derivative [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeLineItems" xlink:label="us-gaap_DerivativeLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeLineItems" xlink:to="us-gaap_DerivativeLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeLineItems_lbl" xml:lang="en-US">Derivative [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeLineItems_lbl" xml:lang="en-US">Derivative</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeNotionalAmount" xlink:label="us-gaap_DerivativeNotionalAmount" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeNotionalAmount" xlink:to="us-gaap_DerivativeNotionalAmount_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeNotionalAmount_lbl" xml:lang="en-US">Derivative, Notional Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeNotionalAmount_lbl" xml:lang="en-US">Derivative notional amount</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:to="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_lbl" xml:lang="en-US">Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesMember" xlink:label="us-gaap_AccruedLiabilitiesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesMember" xlink:to="us-gaap_AccruedLiabilitiesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedLiabilitiesMember_lbl" xml:lang="en-US">Accrued Liabilities [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccruedLiabilitiesMember_lbl" xml:lang="en-US">Accrued expenses 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_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:label="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:to="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_lbl" xml:lang="en-US">Prepaid Expenses And Other Current Assets [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_lbl" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeInstrumentRiskAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_lbl" xml:lang="en-US">Derivative Instrument [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_DerivativeContractTypeDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeContractTypeDomain_lbl" xml:lang="en-US">Derivative Contract [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignExchangeForwardMember" xlink:label="us-gaap_ForeignExchangeForwardMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignExchangeForwardMember" xlink:to="us-gaap_ForeignExchangeForwardMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignExchangeForwardMember_lbl" xml:lang="en-US">Foreign Exchange Forward [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ForeignExchangeForwardMember_lbl" xml:lang="en-US">Foreign currency forward contracts</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_HedgingDesignationAxis_lbl" xml:lang="en-US">Hedging Designation [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_HedgingDesignationDomain" xlink:to="us-gaap_HedgingDesignationDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_HedgingDesignationDomain_lbl" xml:lang="en-US">Hedging Designation [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DesignatedAsHedgingInstrumentMember" xlink:to="us-gaap_DesignatedAsHedgingInstrumentMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember_lbl" xml:lang="en-US">Designated as Hedging Instrument [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember_lbl" xml:lang="en-US">Designated as hedging instrument</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="us-gaap_DerivativesFairValueLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativesFairValueLineItems" xlink:to="us-gaap_DerivativesFairValueLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativesFairValueLineItems_lbl" xml:lang="en-US">Derivatives, Fair Value [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativesFairValueLineItems_lbl" xml:lang="en-US">Derivatives, Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentsAndHedgesLiabilities" xlink:label="us-gaap_DerivativeInstrumentsAndHedgesLiabilities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsAndHedgesLiabilities" xlink:to="us-gaap_DerivativeInstrumentsAndHedgesLiabilities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsAndHedgesLiabilities_lbl" xml:lang="en-US">Derivative Instruments and Hedges, Liabilities, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DerivativeInstrumentsAndHedgesLiabilities_lbl" xml:lang="en-US">Derivatives designated as hedging instruments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:to="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_lbl" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="us-gaap_DerivativeInstrumentsGainLossLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:to="us-gaap_DerivativeInstrumentsGainLossLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsGainLossLineItems_lbl" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeInstrumentsGainLossLineItems_lbl" xml:lang="en-US">Derivative instruments, gain (loss)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax_lbl" xml:lang="en-US">Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, before Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax_lbl" xml:lang="en-US">Net gain (loss) recognized in OCI</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax" xlink:to="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax_lbl" xml:lang="en-US">Derivative Instruments, Gain (Loss) Reclassified From Accumulated Oci Into Income, Effective Portion, Net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax_lbl" xml:lang="en-US">Net loss reclassified from accumulated OCI into income</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_LineOfCreditFacilityTable_lbl" />
    <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_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditFacilityAxis_lbl" xml:lang="en-US">Credit Facility [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_CreditFacilityDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditFacilityDomain_lbl" xml:lang="en-US">Credit Facility [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevolvingCreditFacilityMember" xlink:to="us-gaap_RevolvingCreditFacilityMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevolvingCreditFacilityMember_lbl" xml:lang="en-US">Revolving Credit Facility [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevolvingCreditFacilityMember_lbl" xml:lang="en-US">Revolving Credit Facility</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:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityLineItems_lbl" />
    <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:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditFacilityLineItems_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_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xml:lang="en-US">Line of Credit Facility, Maximum Borrowing Capacity</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xml:lang="en-US">Maximum borrowing capacity</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender" xlink:label="inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender" xlink:to="inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender_lbl" xml:lang="en-US">Percentage of eligible accounts subject to the approval of the Lender considered for determination of borrowing base under the line of credit facility.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender_lbl" xml:lang="en-US">Line Of Credit Facility Maximum Borrowing Capacity Subject To Approval Of the Lender</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender_lbl" xml:lang="en-US">Maximum borrowing capacity subject to approval of the lender</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" xlink:to="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Percentage of eligible accounts considered for determination of borrowing base under the line of credit facility.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Line of Credit Facility, Percentage Of Eligible Accounts Considered For Determination Of Borrowing Base</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Percentage of eligible accounts considered for determination of borrowing base</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:to="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Percentage of eligible foreign accounts considered for determination of borrowing base under the line of credit facility.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Line of Credit Facility, Percentage Of Eligible Foreign Accounts Considered For Determination Of Borrowing Base</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Percentage of eligible foreign accounts considered for determination of borrowing base</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" xlink:to="inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Percentage of eligible unbilled accounts considered for determination of borrowing base under the line of credit facility.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Line Of Credit Facility Percentage Of Eligible Unbilled Accounts Considered For Determination Of Borrowing Base</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Percentage of eligible unbilled accounts considered for determination of borrowing base</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:to="inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Maximum amount of eligible foreign accounts considered for determination of borrowing base under the line of credit facility.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Line of Credit Facility, Maximum Amount Of Eligible Foreign Accounts Considered For Determination Of Borrowing Base</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Maximum amount of eligible foreign accounts considered for determination of borrowing base</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" xlink:to="inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Percentage of all eligible unbilled accounts considered for determination of borrowing base under the line of credit facility.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Line Of Credit Facility Percentage Of All Eligible Unbilled Accounts Considered For Determination Of Borrowing Base</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Percentage of all eligible unbilled accounts considered for determination of borrowing base</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:to="inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Percentage of all eligible foreign accounts considered for determination of borrowing base under the line of credit facility.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Line Of Credit Facility Percentage Of All Eligible Foreign Accounts Considered For Determination Of Borrowing Base</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Percentage of all eligible foreign accounts considered for determination of borrowing base</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_lbl" xml:lang="en-US">Line of Credit Facility, Current Borrowing Capacity</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_lbl" xml:lang="en-US">Borrowing base calculation</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" xlink:label="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" xlink:to="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio_lbl" xml:lang="en-US">Threshold minimum required fixed charge coverage ratio under the line of credit facility.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio_lbl" xml:lang="en-US">Line of Credit Facility, Covenant Terms, Threshold Minimum Required Fixed Charge Coverage Ratio</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio_lbl" xml:lang="en-US">Threshold minimum fixed charge coverage ratio required to be maintained</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl" xml:lang="en-US">Debt Instrument, Basis Spread on Variable Rate</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_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_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" xlink:label="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" xlink:to="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration_lbl" xml:lang="en-US">Debt Instrument, Variable Interest Rate, Type [Extensible Enumeration]</link:label>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>15
<FILENAME>inod-20241231_pre.xml
<DESCRIPTION>EX-101.PRE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--XBRL document created with Toppan Merrill Bridge  10.9.0.3 -->
<!--Based on XBRL 2.1-->
<!--Created on: 2/24/2025 7:05:57 PM-->
<!--Modified on: 2/24/2025 7:05:57 PM-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DocumentDocumentAndEntityInformation" roleURI="http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#StatementConsolidatedBalanceSheets" roleURI="http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#StatementConsolidatedBalanceSheetsParenthetical" roleURI="http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheetsParenthetical" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss" roleURI="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#StatementConsolidatedStatementsOfStockholdersEquity" roleURI="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#StatementConsolidatedStatementsOfCashFlows" roleURI="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPolicies" roleURI="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPolicies" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureAccountsReceivable" roleURI="http://www.innodata-isogen.com/role/DisclosureAccountsReceivable" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosurePropertyAndEquipment" roleURI="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipment" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureGoodwillAndIntangibleAssets" roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssets" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureIncomeTaxes" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxes" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureLongTermObligations" roleURI="http://www.innodata-isogen.com/role/DisclosureLongTermObligations" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureCommitmentsAndContingencies" roleURI="http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingencies" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureOperatingLeases" roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeases" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosurePensionBenefits" roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefits" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureCapitalStock" roleURI="http://www.innodata-isogen.com/role/DisclosureCapitalStock" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureStockOptions" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptions" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureRedemptionOfNonControllingInterest" roleURI="http://www.innodata-isogen.com/role/DisclosureRedemptionOfNonControllingInterest" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureComprehensiveLoss" roleURI="http://www.innodata-isogen.com/role/DisclosureComprehensiveLoss" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureSegmentReportingAndConcentrations" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrations" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureIncomeLossPerShare" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShare" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureDerivatives" roleURI="http://www.innodata-isogen.com/role/DisclosureDerivatives" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureLineOfCredit" roleURI="http://www.innodata-isogen.com/role/DisclosureLineOfCredit" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies" roleURI="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesTables" roleURI="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureAccountsReceivableTables" roleURI="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosurePropertyAndEquipmentTables" roleURI="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureGoodwillAndIntangibleAssetsTables" roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureIncomeTaxesTables" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureLongTermObligationsTables" roleURI="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureOperatingLeasesTables" roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosurePensionBenefitsTables" roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureStockOptionsTables" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureComprehensiveLossTables" roleURI="http://www.innodata-isogen.com/role/DisclosureComprehensiveLossTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureSegmentReportingAndConcentrationsTables" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureIncomeLossPerShareTables" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureDerivativesTables" roleURI="http://www.innodata-isogen.com/role/DisclosureDerivativesTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesStockBasedCompensationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesStockBasedCompensationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDeferredRevenueDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDeferredRevenueDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureAccountsReceivableDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosurePropertyAndEquipmentAdditionalInformationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureGoodwillAndIntangibleAssetsChangesInCarryingAmountOfGoodwillDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingAmountOfGoodwillDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureGoodwillAndIntangibleAssetsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureIncomeTaxesTaxRateReconciliationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureIncomeTaxesUnitedStatesAndForeignComponentsOfIncomeLossDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnitedStatesAndForeignComponentsOfIncomeLossDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureIncomeTaxesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureLongTermObligationsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureCommitmentsAndContingenciesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingenciesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureOperatingLeasesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureOperatingLeasesWeightedAverageRemainingLeaseTermsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesWeightedAverageRemainingLeaseTermsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosurePensionBenefitsBenefitObligationsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsBenefitObligationsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosurePensionBenefitsRecognizedInBalanceSheetsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsRecognizedInBalanceSheetsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosurePensionBenefitsActuarialAssumptionsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosurePensionBenefitsAdditionalInformationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureCapitalStockDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureStockOptionsSummaryOfStockOptionActivityDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureStockOptionsAdditionalInformationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureRedemptionOfNonControllingInterestDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureRedemptionOfNonControllingInterestDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureSegmentReportingAndConcentrationsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureIncomeLossPerShareDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureIncomeLossPerShareAdditionalInformationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureDerivativesAdditionalInformationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureDerivativesAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureDerivativesContractsDesignatedAsCashFlowHedgesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureDerivativesContractsDesignatedAsCashFlowHedgesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20241231.xsd#DisclosureLineOfCreditDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails" />
  <link:roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#InsiderTradingArrangements" roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" />
  <link:roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#CybersecurityRiskManagementAndStrategyDisclosure" roleURI="http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" />
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation" xlink:type="extended" xlink:title="995200090 - Document - Document and Entity Information">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType" xlink:label="dei_DocumentType_638760207539222904" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentType_638760207539222904" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport_638760207539232921" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentAnnualReport_638760207539232921" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate_638760207539232921" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentPeriodEndDate_638760207539232921" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport_638760207539232921" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentTransitionReport_638760207539232921" order="4" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber_638760207539232921" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityFileNumber_638760207539232921" order="5" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName_638760207539232921" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityRegistrantName_638760207539232921" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode_638760207539232921" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityIncorporationStateCountryCode_638760207539232921" order="7" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber_638760207539232921" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityTaxIdentificationNumber_638760207539232921" order="8" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1_638760207539232921" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressAddressLine1_638760207539232921" order="9" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown_638760207539232921" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressCityOrTown_638760207539232921" order="10" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince_638760207539242899" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressStateOrProvince_638760207539242899" order="11" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode_638760207539242899" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressPostalZipCode_638760207539242899" order="12" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode_638760207539242899" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_CityAreaCode_638760207539242899" order="13" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber_638760207539242899" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_LocalPhoneNumber_638760207539242899" order="14" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle_638760207539242899" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_Security12bTitle_638760207539242899" order="15" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol_638760207539242899" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_TradingSymbol_638760207539242899" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName_638760207539242899" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_SecurityExchangeName_638760207539242899" order="17" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer_638760207539242899" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityWellKnownSeasonedIssuer_638760207539242899" order="18" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers_638760207539252896" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityVoluntaryFilers_638760207539252896" order="19" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus_638760207539252896" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCurrentReportingStatus_638760207539252896" order="20" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent_638760207539252896" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityInteractiveDataCurrent_638760207539252896" order="21" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory_638760207539252896" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityFilerCategory_638760207539252896" order="22" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness_638760207539252896" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntitySmallBusiness_638760207539252896" order="23" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany_638760207539252896" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityEmergingGrowthCompany_638760207539252896" order="24" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFinStmtErrorCorrectionFlag" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag_638760207539262895" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentFinStmtErrorCorrectionFlag_638760207539262895" order="25" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany_638760207539262895" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityShellCompany_638760207539262895" order="26" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat_638760207539262895" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityPublicFloat_638760207539262895" order="27" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding_638760207539262895" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCommonStockSharesOutstanding_638760207539262895" order="28" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey_638760207539262895" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCentralIndexKey_638760207539262895" order="29" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate_638760207539262895" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_CurrentFiscalYearEndDate_638760207539262895" order="30" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus_638760207539272895" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentFiscalYearFocus_638760207539272895" order="31" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus_638760207539272895" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentFiscalPeriodFocus_638760207539272895" order="32" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag_638760207539272895" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_AmendmentFlag_638760207539272895" order="33" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorName" xlink:label="dei_AuditorName_638760207539272895" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_AuditorName_638760207539272895" order="34" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorFirmId" xlink:label="dei_AuditorFirmId_638760207539272895" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_AuditorFirmId_638760207539272895" order="35" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorLocation" xlink:label="dei_AuditorLocation_638760207539272895" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_AuditorLocation_638760207539272895" order="36" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets" xlink:type="extended" xlink:title="995200100 - 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-gaap_StatementOfFinancialPositionAbstract_23" />
    <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_638760207539282896" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_23" xlink:to="us-gaap_AssetsAbstract_638760207539282896" order="1" use="optional" 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_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract_638760207539282896" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638760207539282896" xlink:to="us-gaap_AssetsCurrentAbstract_638760207539282896" order="1" use="optional" 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_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638760207539282896" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638760207539282896" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638760207539282896" order="1" use="optional" 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_OtherShortTermInvestments" xlink:label="us-gaap_OtherShortTermInvestments_638760207539282896" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638760207539282896" xlink:to="us-gaap_OtherShortTermInvestments_638760207539282896" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="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="us-gaap_AccountsReceivableNetCurrent_638760207539282896" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638760207539282896" xlink:to="us-gaap_AccountsReceivableNetCurrent_638760207539282896" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638760207539282896" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638760207539282896" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638760207539282896" order="4" use="optional" 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_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_638760207539292901" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638760207539282896" xlink:to="us-gaap_AssetsCurrent_638760207539292901" order="5" use="optional" 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="us-gaap_PropertyPlantAndEquipmentNet_638760207539292901" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638760207539282896" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_638760207539292901" order="2" use="optional" 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_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_638760207539292901" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638760207539282896" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_638760207539292901" order="3" use="optional" 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_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_638760207539292901" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638760207539282896" xlink:to="us-gaap_OtherAssetsNoncurrent_638760207539292901" order="4" use="optional" 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_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_638760207539292901" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638760207539282896" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_638760207539292901" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <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_638760207539292901" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638760207539282896" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_638760207539292901" order="6" use="optional" 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_Goodwill" xlink:label="us-gaap_Goodwill_638760207539292901" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638760207539282896" xlink:to="us-gaap_Goodwill_638760207539292901" order="7" use="optional" 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_Assets" xlink:label="us-gaap_Assets_638760207539292901" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638760207539282896" xlink:to="us-gaap_Assets_638760207539292901" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638760207539292901" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_23" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638760207539292901" order="2" use="optional" 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_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract_638760207539302898" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638760207539292901" xlink:to="us-gaap_LiabilitiesCurrentAbstract_638760207539302898" order="1" use="optional" 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="us-gaap_AccountsPayableCurrent_638760207539302898" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638760207539302898" xlink:to="us-gaap_AccountsPayableCurrent_638760207539302898" order="1" use="optional" 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_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent_638760207539302898" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638760207539302898" xlink:to="us-gaap_AccruedLiabilitiesCurrent_638760207539302898" order="2" use="optional" 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_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_638760207539302898" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638760207539302898" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent_638760207539302898" order="3" use="optional" 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_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_638760207539302898" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638760207539302898" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_638760207539302898" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="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="us-gaap_TaxesPayableCurrent_638760207539302898" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638760207539302898" xlink:to="us-gaap_TaxesPayableCurrent_638760207539302898" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_CurrentPortionOfLongTermObligations" xlink:label="inod_CurrentPortionOfLongTermObligations_638760207539302898" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638760207539302898" xlink:to="inod_CurrentPortionOfLongTermObligations_638760207539302898" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="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="us-gaap_OperatingLeaseLiabilityCurrent_638760207539312899" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638760207539302898" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638760207539312899" order="7" use="optional" 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_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent_638760207539312899" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638760207539302898" xlink:to="us-gaap_LiabilitiesCurrent_638760207539312899" order="8" use="optional" 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_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_638760207539312899" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638760207539292901" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_638760207539312899" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_NoncurrentPortionOfLongTermObligations" xlink:label="inod_NoncurrentPortionOfLongTermObligations_638760207539312899" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638760207539292901" xlink:to="inod_NoncurrentPortionOfLongTermObligations_638760207539312899" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="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="us-gaap_OperatingLeaseLiabilityNoncurrent_638760207539312899" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638760207539292901" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638760207539312899" order="4" use="optional" 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_Liabilities" xlink:label="us-gaap_Liabilities_638760207539312899" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638760207539292901" xlink:to="us-gaap_Liabilities_638760207539312899" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="5" />
    <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_638760207539322898" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638760207539292901" xlink:to="us-gaap_CommitmentsAndContingencies_638760207539322898" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount" xlink:label="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount_638760207539322898" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638760207539292901" xlink:to="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount_638760207539322898" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <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_638760207539322898" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638760207539292901" xlink:to="us-gaap_StockholdersEquityAbstract_638760207539322898" order="8" use="optional" 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_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue_638760207539322898" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638760207539322898" xlink:to="us-gaap_PreferredStockValue_638760207539322898" order="1" use="optional" 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_CommonStockValue" xlink:label="us-gaap_CommonStockValue_638760207539322898" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638760207539322898" xlink:to="us-gaap_CommonStockValue_638760207539322898" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <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_638760207539322898" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638760207539322898" xlink:to="us-gaap_AdditionalPaidInCapital_638760207539322898" order="3" use="optional" 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_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_638760207539332897" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638760207539322898" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_638760207539332897" order="4" use="optional" 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_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638760207539332897" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638760207539322898" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638760207539332897" order="5" use="optional" 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_StockholdersEquityBeforeTreasuryStock" xlink:label="us-gaap_StockholdersEquityBeforeTreasuryStock_638760207539332897" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638760207539322898" xlink:to="us-gaap_StockholdersEquityBeforeTreasuryStock_638760207539332897" order="6" use="optional" 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_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue_638760207539332897" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638760207539322898" xlink:to="us-gaap_TreasuryStockValue_638760207539332897" order="7" use="optional" 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_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638760207539332897" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638760207539322898" xlink:to="us-gaap_StockholdersEquity_638760207539332897" order="8" use="optional" 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="us-gaap_LiabilitiesAndStockholdersEquity_638760207539332897" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638760207539292901" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_638760207539332897" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheetsParenthetical" xlink:type="extended" xlink:title="995200105 - 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-gaap_StatementOfFinancialPositionAbstract_89" />
    <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_638760207539342898" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_89" xlink:to="us-gaap_PreferredStockSharesAuthorized_638760207539342898" order="1" use="optional" 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_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding_638760207539342898" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_89" xlink:to="us-gaap_PreferredStockSharesOutstanding_638760207539342898" order="2" use="optional" 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_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_638760207539342898" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_89" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_638760207539342898" order="3" use="optional" 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_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized_638760207539342898" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_89" xlink:to="us-gaap_CommonStockSharesAuthorized_638760207539342898" order="4" use="optional" 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_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued_638760207539342898" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_89" xlink:to="us-gaap_CommonStockSharesIssued_638760207539342898" order="5" use="optional" 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_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding_638760207539352903" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_89" xlink:to="us-gaap_CommonStockSharesOutstanding_638760207539352903" order="6" use="optional" 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_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares_638760207539352903" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_89" xlink:to="us-gaap_TreasuryStockCommonShares_638760207539352903" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss" xlink:type="extended" xlink:title="995200200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (LOSS)">
    <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_637077091637837009" />
    <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_638760207539352903" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract_637077091637837009" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638760207539352903" order="1" use="optional" 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_CostsAndExpensesAbstract" xlink:label="us-gaap_CostsAndExpensesAbstract_638760207539352903" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract_637077091637837009" xlink:to="us-gaap_CostsAndExpensesAbstract_638760207539352903" order="2" use="optional" 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_DirectOperatingCosts" xlink:label="us-gaap_DirectOperatingCosts_638760207539352903" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract_638760207539352903" xlink:to="us-gaap_DirectOperatingCosts_638760207539352903" order="1" use="optional" 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_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_638760207539352903" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract_638760207539352903" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_638760207539352903" order="2" use="optional" 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_InterestIncomeExpenseNonoperatingNet" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet_638760207539352903" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract_638760207539352903" xlink:to="us-gaap_InterestIncomeExpenseNonoperatingNet_638760207539352903" order="3" use="optional" 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_CostsAndExpenses" xlink:label="us-gaap_CostsAndExpenses_638760207539352903" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract_638760207539352903" xlink:to="us-gaap_CostsAndExpenses_638760207539352903" order="4" use="optional" 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="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638760207539362906" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract_638760207539352903" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638760207539362906" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="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="us-gaap_IncomeTaxExpenseBenefit_638760207539362906" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract_637077091637837009" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638760207539362906" order="3" use="optional" 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_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638760207539362906" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract_637077091637837009" xlink:to="us-gaap_ProfitLoss_638760207539362906" order="4" use="optional" 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="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_638760207539362906" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract_637077091637837009" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_638760207539362906" order="5" use="optional" 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_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss_638760207539362906" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract_637077091637837009" xlink:to="us-gaap_NetIncomeLoss_638760207539362906" order="6" use="optional" 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_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract_638760207539362906" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract_637077091637837009" xlink:to="us-gaap_EarningsPerShareAbstract_638760207539362906" order="7" use="optional" 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_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic_638760207539362906" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract_638760207539362906" xlink:to="us-gaap_EarningsPerShareBasic_638760207539362906" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <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_638760207539362906" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract_638760207539362906" xlink:to="us-gaap_EarningsPerShareDiluted_638760207539362906" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_638760207539362906" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract_637077091637837009" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_638760207539362906" order="8" use="optional" 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="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638760207539372901" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_638760207539362906" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638760207539372901" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <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_638760207539372901" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_638760207539362906" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638760207539372901" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638760207539372901" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract_637077091637837009" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638760207539372901" order="9" use="optional" 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_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638760207539372901" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638760207539372901" xlink:to="us-gaap_ProfitLoss_638760207539372901" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_638760207539372901" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638760207539372901" xlink:to="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_638760207539372901" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <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_638760207539372901" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638760207539372901" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_638760207539372901" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_638760207539372901" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638760207539372901" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_638760207539372901" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax_638760207539382902" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638760207539372901" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTax_638760207539382902" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="8" />
    <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_638760207539382902" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638760207539372901" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638760207539382902" order="6" use="optional" 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="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_638760207539382902" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638760207539372901" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_638760207539382902" order="7" use="optional" 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_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_638760207539382902" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638760207539372901" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_638760207539382902" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity" xlink:type="extended" xlink:title="995200300 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' 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-gaap_StatementOfStockholdersEquityAbstract_469" />
    <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_638760207539392901" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_469" xlink:to="us-gaap_StatementTable_638760207539392901" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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_638760207539392901" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638760207539392901" xlink:to="us-gaap_StatementEquityComponentsAxis_638760207539392901" order="1" use="optional" />
    <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_638760207539392901" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638760207539392901" xlink:to="us-gaap_CommonStockMember_638760207539392901" order="1" use="optional" 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_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember_638760207539392901" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638760207539392901" xlink:to="us-gaap_AdditionalPaidInCapitalMember_638760207539392901" order="2" use="optional" 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_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember_638760207539392901" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638760207539392901" xlink:to="us-gaap_RetainedEarningsMember_638760207539392901" order="3" use="optional" 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_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_638760207539392901" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638760207539392901" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_638760207539392901" order="4" use="optional" 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_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember_638760207539392901" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638760207539392901" xlink:to="us-gaap_TreasuryStockCommonMember_638760207539392901" order="5" use="optional" 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_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_638760207539392901" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638760207539392901" xlink:to="us-gaap_EquityComponentDomain_638760207539392901" order="6" use="optional" />
    <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_638760207539392901" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638760207539392901" xlink:to="us-gaap_StatementLineItems_638760207539392901" order="2" use="optional" 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_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638760207539392901" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638760207539392901" xlink:to="us-gaap_StockholdersEquity_638760207539392901" order="1" use="optional" 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_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares_638760207539402904" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638760207539392901" xlink:to="us-gaap_TreasuryStockCommonShares_638760207539402904" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="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="us-gaap_SharesOutstanding_638760207539402904" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638760207539392901" xlink:to="us-gaap_SharesOutstanding_638760207539402904" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss_638760207539402904" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638760207539392901" xlink:to="us-gaap_NetIncomeLoss_638760207539402904" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <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_638760207539402904" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638760207539392901" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_638760207539402904" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <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_638760207539402904" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638760207539392901" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_638760207539402904" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <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_638760207539402904" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638760207539392901" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638760207539402904" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_638760207539402904" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638760207539392901" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_638760207539402904" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_638760207539402904" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638760207539392901" xlink:to="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_638760207539402904" order="9" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_638760207539412903" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638760207539392901" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_638760207539412903" order="10" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings" xlink:label="us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings_638760207539412903" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638760207539392901" xlink:to="us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings_638760207539412903" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalOther" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalOther_638760207539412903" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638760207539392901" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalOther_638760207539412903" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_638760207539412903" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638760207539392901" xlink:to="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_638760207539412903" order="13" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="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="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_638760207539412903" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638760207539392901" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_638760207539412903" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_638760207539412903" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638760207539392901" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_638760207539412903" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="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="us-gaap_StockholdersEquity_638760207539412903" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638760207539392901" xlink:to="us-gaap_StockholdersEquity_638760207539412903" order="16" use="optional" 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_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares_638760207539422906" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638760207539392901" xlink:to="us-gaap_TreasuryStockCommonShares_638760207539422906" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="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="us-gaap_SharesOutstanding_638760207539422906" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638760207539392901" xlink:to="us-gaap_SharesOutstanding_638760207539422906" order="18" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows" xlink:type="extended" xlink:title="995200400 - 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="us-gaap_StatementOfCashFlowsAbstract_637049446316531667" />
    <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_638760207539422906" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_637049446316531667" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638760207539422906" order="1" use="optional" 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_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638760207539422906" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638760207539422906" xlink:to="us-gaap_ProfitLoss_638760207539422906" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <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_638760207539422906" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638760207539422906" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638760207539422906" order="2" use="optional" 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_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_638760207539432912" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638760207539422906" xlink:to="us-gaap_DepreciationDepletionAndAmortization_638760207539432912" order="1" use="optional" 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_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638760207539432912" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638760207539422906" xlink:to="us-gaap_ShareBasedCompensation_638760207539432912" order="2" use="optional" 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_DeferredIncomeTaxesAndTaxCredits" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_638760207539432912" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638760207539422906" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCredits_638760207539432912" order="3" use="optional" 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_ProvisionForLoanLossesExpensed" xlink:label="us-gaap_ProvisionForLoanLossesExpensed_638760207539432912" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638760207539422906" xlink:to="us-gaap_ProvisionForLoanLossesExpensed_638760207539432912" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedContributionPlanIncreaseDecreaseCost" xlink:label="us-gaap_DefinedContributionPlanIncreaseDecreaseCost_638760207539432912" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638760207539422906" xlink:to="us-gaap_DefinedContributionPlanIncreaseDecreaseCost_638760207539432912" order="5" use="optional" 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_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638760207539432912" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638760207539422906" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638760207539432912" order="6" use="optional" 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_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_638760207539432912" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638760207539432912" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_638760207539432912" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638760207539432912" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638760207539432912" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638760207539432912" order="2" use="optional" 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_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_638760207539432912" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638760207539432912" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets_638760207539432912" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_638760207539442908" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638760207539432912" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_638760207539442908" order="4" use="optional" 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="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_638760207539442908" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638760207539432912" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_638760207539442908" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_638760207539442908" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638760207539432912" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_638760207539442908" order="6" use="optional" 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_IncreaseDecreaseInAccruedTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedTaxesPayable_638760207539442908" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638760207539432912" xlink:to="us-gaap_IncreaseDecreaseInAccruedTaxesPayable_638760207539442908" order="7" use="optional" 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_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_638760207539442908" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638760207539422906" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_638760207539442908" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <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_638760207539442908" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_637049446316531667" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638760207539442908" order="2" use="optional" 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="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638760207539442908" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638760207539442908" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638760207539442908" order="1" use="optional" 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_PaymentsForProceedsFromShortTermInvestments" xlink:label="us-gaap_PaymentsForProceedsFromShortTermInvestments_638760207539452908" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638760207539442908" xlink:to="us-gaap_PaymentsForProceedsFromShortTermInvestments_638760207539452908" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="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="us-gaap_NetCashProvidedByUsedInInvestingActivities_638760207539452908" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638760207539442908" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_638760207539452908" order="3" use="optional" 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="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638760207539452908" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_637049446316531667" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638760207539452908" order="3" use="optional" 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_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_638760207539452908" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638760207539452908" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_638760207539452908" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_638760207539452908" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638760207539452908" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_638760207539452908" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="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="us-gaap_RepaymentsOfLongTermDebt_638760207539452908" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638760207539452908" xlink:to="us-gaap_RepaymentsOfLongTermDebt_638760207539452908" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" />
    <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_638760207539452908" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638760207539452908" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_638760207539452908" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638760207539462909" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_637049446316531667" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638760207539462909" order="4" use="optional" 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_638760207539462909" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_637049446316531667" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_638760207539462909" order="5" use="optional" 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638760207539462909" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_637049446316531667" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638760207539462909" order="6" use="optional" 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6387602075394629091" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_637049446316531667" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6387602075394629091" order="7" use="optional" 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="us-gaap_SupplementalCashFlowInformationAbstract_638760207539462909" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_637049446316531667" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_638760207539462909" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_VendorFinancedSoftwareLicensesAcquired" xlink:label="inod_VendorFinancedSoftwareLicensesAcquired_638760207539462909" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_638760207539462909" xlink:to="inod_VendorFinancedSoftwareLicensesAcquired_638760207539462909" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesPaid" xlink:label="us-gaap_IncomeTaxesPaid_638760207539472906" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_638760207539462909" xlink:to="us-gaap_IncomeTaxesPaid_638760207539472906" order="2" use="optional" 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_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments_638760207539472906" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_638760207539462909" xlink:to="us-gaap_OperatingLeasePayments_638760207539472906" order="3" use="optional" 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_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet_638760207539472906" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_638760207539462909" xlink:to="us-gaap_InterestPaidNet_638760207539472906" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPolicies" xlink:type="extended" xlink:title="995210101 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and 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-gaap_AccountingPoliciesAbstract_538" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_638760207539482925" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_538" xlink:to="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_638760207539482925" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureAccountsReceivable" xlink:type="extended" xlink:title="995210201 - 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="us-gaap_ReceivablesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsAndNontradeReceivableTextBlock" xlink:label="us-gaap_AccountsAndNontradeReceivableTextBlock_638760207539482925" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract" xlink:to="us-gaap_AccountsAndNontradeReceivableTextBlock_638760207539482925" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipment" xlink:type="extended" xlink:title="995210301 - Disclosure - Property and equipment">
    <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_637048505953408497" />
    <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_638760207539482925" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract_637048505953408497" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_638760207539482925" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssets" xlink:type="extended" xlink:title="995210401 - 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-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_2" />
    <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_638760207539492911" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_2" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_638760207539492911" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxes" xlink:type="extended" xlink:title="995210501 - 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-gaap_IncomeTaxDisclosureAbstract_5" />
    <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_638760207539492911" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_638760207539492911" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLongTermObligations" xlink:type="extended" xlink:title="995210601 - Disclosure - Long-term obligations">
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LongTermObligationsAbstract" xlink:label="inod_LongTermObligationsAbstract" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LongTermObligationsDisclosureTextBlock" xlink:label="inod_LongTermObligationsDisclosureTextBlock_638760207539492911" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_LongTermObligationsAbstract" xlink:to="inod_LongTermObligationsDisclosureTextBlock_638760207539492911" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingencies" xlink:type="extended" xlink:title="995210701 - Disclosure - Commitments and Contingencies">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_638760207539502913" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_8" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_638760207539502913" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureOperatingLeases" xlink:type="extended" xlink:title="995210801 - Disclosure - Operating Leases">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeDisclosureAbstract" xlink:label="us-gaap_LesseeDisclosureAbstract" />
    <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_638760207539563060" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_638760207539563060" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePensionBenefits" xlink:type="extended" xlink:title="995210901 - Disclosure - Pension Benefits">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505953418677" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_638760207539563060" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505953418677" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_638760207539563060" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureCapitalStock" xlink:type="extended" xlink:title="995211001 - Disclosure - Capital Stock">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityNoteAbstract" xlink:label="us-gaap_StockholdersEquityNoteAbstract_637048505953428681" />
    <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_638760207539572947" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityNoteAbstract_637048505953428681" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock_638760207539572947" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptions" xlink:type="extended" xlink:title="995211101 - 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-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_11" />
    <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_638760207539572947" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_11" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_638760207539572947" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureRedemptionOfNonControllingInterest" xlink:type="extended" xlink:title="995211201 - Disclosure - Redemption of non-controlling interest">
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_RedemptionOfNonControllingInterestAbstract" xlink:label="inod_RedemptionOfNonControllingInterestAbstract_1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_RedemptionOfNonControllingInterestTextBlock" xlink:label="inod_RedemptionOfNonControllingInterestTextBlock_638760207539572947" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_RedemptionOfNonControllingInterestAbstract_1" xlink:to="inod_RedemptionOfNonControllingInterestTextBlock_638760207539572947" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureComprehensiveLoss" xlink:type="extended" xlink:title="995211301 - Disclosure - Comprehensive loss">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:label="us-gaap_ComprehensiveIncomeNoteTextBlock_638760207539582921" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:to="us-gaap_ComprehensiveIncomeNoteTextBlock_638760207539582921" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrations" xlink:type="extended" xlink:title="995211401 - Disclosure - Segment reporting and concentrations">
    <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-gaap_SegmentReportingAbstract_20" />
    <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_638760207539582921" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_20" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_638760207539582921" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShare" xlink:type="extended" xlink:title="995211501 - Disclosure - Income (loss) 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-gaap_EarningsPerShareAbstract_63" />
    <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_638760207539592919" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_63" xlink:to="us-gaap_EarningsPerShareTextBlock_638760207539592919" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDerivatives" xlink:type="extended" xlink:title="995211601 - Disclosure - Derivatives">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_66" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_638760207539592919" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_66" xlink:to="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_638760207539592919" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLineOfCredit" xlink:type="extended" xlink:title="995211701 - 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_LineOfCreditFacilityAbstract" xlink:label="us-gaap_LineOfCreditFacilityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock_638760207539592919" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAbstract" xlink:to="us-gaap_DebtDisclosureTextBlock_638760207539592919" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies" xlink:type="extended" xlink:title="99920102 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and 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-gaap_AccountingPoliciesAbstract_72" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationsPolicy" xlink:label="us-gaap_BusinessCombinationsPolicy_638760207539602915" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_BusinessCombinationsPolicy_638760207539602915" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock_638760207539602915" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_ConsolidationPolicyTextBlock_638760207539602915" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <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_638760207539602915" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_UseOfEstimates_638760207539602915" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_638760207539602915" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_RevenueRecognitionPolicyTextBlock_638760207539602915" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <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_638760207539602915" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_638760207539602915" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativesPolicyTextBlock" xlink:label="us-gaap_DerivativesPolicyTextBlock_638760207539602915" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_DerivativesPolicyTextBlock_638760207539602915" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <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_638760207539602915" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock_638760207539602915" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentPolicyTextBlock" xlink:label="us-gaap_InvestmentPolicyTextBlock_638760207539612915" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_InvestmentPolicyTextBlock_638760207539612915" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <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_638760207539612915" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_ConcentrationRiskCreditRisk_638760207539612915" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy_638760207539612915" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_TradeAndOtherAccountsReceivablePolicy_638760207539612915" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <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_638760207539612915" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_638760207539612915" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" xlink:label="us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_638760207539612915" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_638760207539612915" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <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_638760207539612915" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_638760207539612915" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <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_638760207539612915" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_638760207539612915" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <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_638760207539612915" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_638760207539612915" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LessorLeasesPolicyTextBlock" xlink:label="us-gaap_LessorLeasesPolicyTextBlock_638760207539622914" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_LessorLeasesPolicyTextBlock_638760207539622914" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_638760207539622914" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_638760207539622914" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <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_638760207539622914" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy_638760207539622914" order="18" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <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_638760207539622914" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_638760207539622914" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionAndOtherPostretirementPlansPensionsPolicy" xlink:label="us-gaap_PensionAndOtherPostretirementPlansPensionsPolicy_638760207539622914" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_PensionAndOtherPostretirementPlansPensionsPolicy_638760207539622914" order="20" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <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_638760207539622914" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_638760207539622914" order="21" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <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_638760207539622914" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_638760207539622914" order="22" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesTables" xlink:type="extended" xlink:title="99930103 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and 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="us-gaap_AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock" xlink:label="us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock_638760207539632913" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock_638760207539632913" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenueByArrangementDisclosureTextBlock" xlink:label="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_638760207539632913" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_638760207539632913" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableTables" xlink:type="extended" xlink:title="99930203 - 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="us-gaap_ReceivablesAbstract_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_638760207539642922" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_1" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_638760207539642922" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <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_638760207539642922" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_1" xlink:to="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_638760207539642922" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentTables" xlink:type="extended" xlink:title="99930303 - Disclosure - Property and equipment (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="us-gaap_PropertyPlantAndEquipmentAbstract_637048505953458703" />
    <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_638760207539642922" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract_637048505953458703" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_638760207539642922" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsTables" xlink:type="extended" xlink:title="99930403 - 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-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_84" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock_638760207539642922" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_84" xlink:to="us-gaap_ScheduleOfGoodwillTextBlock_638760207539642922" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_638760207539652921" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_84" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_638760207539652921" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <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_638760207539652921" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_84" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_638760207539652921" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables" xlink:type="extended" xlink:title="99930503 - 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="us-gaap_IncomeTaxDisclosureAbstract" />
    <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_638760207539652921" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_638760207539652921" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <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_638760207539652921" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_638760207539652921" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <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_638760207539652921" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_638760207539652921" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_638760207539652921" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_638760207539652921" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_638760207539652921" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_638760207539652921" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsTables" xlink:type="extended" xlink:title="99930603 - Disclosure - Long-term obligations (Tables)">
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LongTermObligationsAbstract" xlink:label="inod_LongTermObligationsAbstract" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LongTermObligationsDisclosureTableTextBlock" xlink:label="inod_LongTermObligationsDisclosureTableTextBlock_638760207539662923" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_LongTermObligationsAbstract" xlink:to="inod_LongTermObligationsDisclosureTableTextBlock_638760207539662923" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesTables" xlink:type="extended" xlink:title="99930803 - Disclosure - Operating Leases (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeDisclosureAbstract" xlink:label="us-gaap_LesseeDisclosureAbstract_1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock" xlink:label="inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock_638760207539662923" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_1" xlink:to="inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock_638760207539662923" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_638760207539662923" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_1" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_638760207539662923" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock" xlink:label="inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock_638760207539672920" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_1" xlink:to="inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock_638760207539672920" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsTables" xlink:type="extended" xlink:title="99930903 - Disclosure - Pension Benefits (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505953478717" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock" xlink:label="us-gaap_ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock_638760207539672920" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505953478717" xlink:to="us-gaap_ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock_638760207539672920" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfNetBenefitCostsTableTextBlock" xlink:label="us-gaap_ScheduleOfNetBenefitCostsTableTextBlock_638760207539672920" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505953478717" xlink:to="us-gaap_ScheduleOfNetBenefitCostsTableTextBlock_638760207539672920" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock" xlink:label="us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock_638760207539672920" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505953478717" xlink:to="us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock_638760207539672920" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAssumptionsUsedTableTextBlock" xlink:label="us-gaap_ScheduleOfAssumptionsUsedTableTextBlock_638760207539672920" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505953478717" xlink:to="us-gaap_ScheduleOfAssumptionsUsedTableTextBlock_638760207539672920" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock" xlink:label="us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock_638760207539672920" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505953478717" xlink:to="us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock_638760207539672920" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsTables" xlink:type="extended" xlink:title="99931103 - 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-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_105" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_StockOptionsTable" xlink:label="inod_StockOptionsTable_638760207539682923" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_105" xlink:to="inod_StockOptionsTable_638760207539682923" order="1" use="optional" />
    <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_638760207539682923" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_StockOptionsTable_638760207539682923" xlink:to="us-gaap_AwardTypeAxis_638760207539682923" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207539682923" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638760207539682923" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207539682923" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_638760207539682923" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207539682923" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_638760207539682923" order="1" use="optional" 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_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis_638760207539682923" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_StockOptionsTable_638760207539682923" xlink:to="us-gaap_PlanNameAxis_638760207539682923" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638760207539682923" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis_638760207539682923" xlink:to="us-gaap_PlanNameDomain_638760207539682923" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_EquityPlansMember" xlink:label="inod_EquityPlansMember_638760207539682923" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638760207539682923" xlink:to="inod_EquityPlansMember_638760207539682923" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_StockOptionsLineItems" xlink:label="inod_StockOptionsLineItems_638760207539682923" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_StockOptionsTable_638760207539682923" xlink:to="inod_StockOptionsLineItems_638760207539682923" order="3" use="optional" 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_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_638760207539682923" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_StockOptionsLineItems_638760207539682923" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_638760207539682923" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <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_638760207539692921" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_StockOptionsLineItems_638760207539682923" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_638760207539692921" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_638760207539692921" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_StockOptionsLineItems_638760207539682923" xlink:to="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_638760207539692921" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureComprehensiveLossTables" xlink:type="extended" xlink:title="99931303 - Disclosure - Comprehensive loss (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:label="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_638760207539692921" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:to="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_638760207539692921" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsTables" xlink:type="extended" xlink:title="99931403 - Disclosure - Segment reporting and concentrations (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-gaap_SegmentReportingAbstract_115" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock_638760207539702923" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_115" xlink:to="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock_638760207539702923" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock" xlink:label="us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock_638760207539702923" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_115" xlink:to="us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock_638760207539702923" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_638760207539702923" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_115" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_638760207539702923" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <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_638760207539702923" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_115" xlink:to="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_638760207539702923" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareTables" xlink:type="extended" xlink:title="99931503 - Disclosure - Income (loss) 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-gaap_EarningsPerShareAbstract_120" />
    <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_638760207539702923" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_120" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_638760207539702923" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDerivativesTables" xlink:type="extended" xlink:title="99931603 - Disclosure - Derivatives (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_123" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_638760207539712923" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_123" xlink:to="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_638760207539712923" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_638760207539712923" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_123" xlink:to="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_638760207539712923" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails" xlink:type="extended" xlink:title="99940101 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies (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-gaap_AccountingPoliciesAbstract_160" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable_638760207539712923" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_160" xlink:to="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable_638760207539712923" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis_638760207539712923" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable_638760207539712923" xlink:to="srt_StatementGeographicalAxis_638760207539712923" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638760207539712923" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis_638760207539712923" xlink:to="srt_SegmentGeographicalDomain_638760207539712923" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_AsiaMember" xlink:label="srt_AsiaMember_638760207539722926" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638760207539712923" xlink:to="srt_AsiaMember_638760207539722926" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US_638760207539722926" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638760207539712923" xlink:to="country_US_638760207539722926" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638760207539722926" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable_638760207539712923" xlink:to="srt_RangeAxis_638760207539722926" order="2" use="optional" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638760207539722926" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638760207539722926" xlink:to="srt_RangeMember_638760207539722926" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638760207539722926" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638760207539722926" xlink:to="srt_MinimumMember_638760207539722926" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638760207539722926" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638760207539722926" xlink:to="srt_MaximumMember_638760207539722926" order="2" use="optional" 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_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638760207539722926" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable_638760207539712923" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638760207539722926" order="3" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638760207539722926" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638760207539722926" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638760207539722926" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SoftwareDevelopmentMember" xlink:label="us-gaap_SoftwareDevelopmentMember_638760207539722926" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638760207539722926" xlink:to="us-gaap_SoftwareDevelopmentMember_638760207539722926" order="1" use="optional" 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_InProcessResearchAndDevelopmentMember" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember_638760207539732920" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638760207539722926" xlink:to="us-gaap_InProcessResearchAndDevelopmentMember_638760207539732920" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638760207539732920" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable_638760207539712923" xlink:to="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638760207539732920" order="4" use="optional" 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_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments_638760207539732920" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638760207539732920" xlink:to="us-gaap_NumberOfReportableSegments_638760207539732920" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CapitalizedContractCostAmortizationPeriod" xlink:label="us-gaap_CapitalizedContractCostAmortizationPeriod_638760207539732920" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638760207539732920" xlink:to="us-gaap_CapitalizedContractCostAmortizationPeriod_638760207539732920" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_638760207539732920" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638760207539732920" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_638760207539732920" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="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="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_638760207539732920" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638760207539732920" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_638760207539732920" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_638760207539732920" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638760207539732920" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife_638760207539732920" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:label="us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_638760207539732920" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638760207539732920" xlink:to="us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_638760207539732920" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <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_638760207539732920" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638760207539732920" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638760207539732920" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_638760207539742922" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638760207539732920" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_638760207539742922" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_638760207539742922" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638760207539732920" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_638760207539742922" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss_638760207539742922" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638760207539732920" xlink:to="us-gaap_GoodwillImpairmentLoss_638760207539742922" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenue" xlink:label="us-gaap_DeferredRevenue_638760207539742922" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638760207539732920" xlink:to="us-gaap_DeferredRevenue_638760207539742922" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesStockBasedCompensationDetails" xlink:type="extended" xlink:title="99940102 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies - 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_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract_637048505953498732" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockOptionPlanExpense" xlink:label="us-gaap_StockOptionPlanExpense_638760207539742922" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract_637048505953498732" xlink:to="us-gaap_StockOptionPlanExpense_638760207539742922" order="1" use="optional" 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_OtherSellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_OtherSellingGeneralAndAdministrativeExpense_638760207539752925" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract_637048505953498732" xlink:to="us-gaap_OtherSellingGeneralAndAdministrativeExpense_638760207539752925" order="2" use="optional" 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_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638760207539752925" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract_637048505953498732" xlink:to="us-gaap_ShareBasedCompensation_638760207539752925" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDeferredRevenueDetails" xlink:type="extended" xlink:title="99940103 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies - Deferred revenue (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="us-gaap_AccountingPoliciesAbstract_2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_638760207539752925" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract_2" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_638760207539752925" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenuePeriodIncreaseDecrease" xlink:label="us-gaap_DeferredRevenuePeriodIncreaseDecrease_638760207539752925" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract_2" xlink:to="us-gaap_DeferredRevenuePeriodIncreaseDecrease_638760207539752925" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenueRevenueRecognized1" xlink:label="us-gaap_DeferredRevenueRevenueRecognized1_638760207539752925" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract_2" xlink:to="us-gaap_DeferredRevenueRevenueRecognized1_638760207539752925" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments" xlink:label="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments_638760207539752925" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract_2" xlink:to="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments_638760207539752925" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_638760207539762937" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract_2" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_638760207539762937" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails" xlink:type="extended" xlink:title="99940201 - Disclosure - 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="us-gaap_ReceivablesAbstract_2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent_638760207539762937" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_2" xlink:to="us-gaap_AccountsReceivableGrossCurrent_638760207539762937" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638760207539762937" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_2" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638760207539762937" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="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="us-gaap_AccountsReceivableNetCurrent_638760207539762937" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_2" xlink:to="us-gaap_AccountsReceivableNetCurrent_638760207539762937" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails" xlink:type="extended" xlink:title="99940202 - Disclosure - Accounts Receivable - Activity in allowance for credit losses (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="us-gaap_ReceivablesAbstract_3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638760207539772928" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_3" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638760207539772928" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_638760207539772928" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_3" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_638760207539772928" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_638760207539772928" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_3" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_638760207539772928" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation" xlink:label="us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation_638760207539772928" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_3" xlink:to="us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation_638760207539772928" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_6387602075397729281" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_3" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_6387602075397729281" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails" xlink:type="extended" xlink:title="99940301 - Disclosure - Property and equipment - Property and equipment (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="us-gaap_PropertyPlantAndEquipmentAbstract_637048505953818778" />
    <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_638760207539772928" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract_637048505953818778" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638760207539772928" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/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_638760207539772928" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638760207539772928" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638760207539772928" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638760207539772928" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638760207539772928" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638760207539772928" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquipmentMember" xlink:label="us-gaap_EquipmentMember_638760207539782927" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638760207539772928" xlink:to="us-gaap_EquipmentMember_638760207539782927" order="1" use="optional" 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_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_638760207539782927" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638760207539772928" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember_638760207539782927" order="2" use="optional" 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_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember_638760207539782927" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638760207539772928" xlink:to="us-gaap_FurnitureAndFixturesMember_638760207539782927" order="3" use="optional" 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_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember_638760207539782927" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638760207539772928" xlink:to="us-gaap_LeaseholdImprovementsMember_638760207539782927" order="4" use="optional" 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_ConstructionInProgressMember" xlink:label="us-gaap_ConstructionInProgressMember_638760207539782927" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638760207539772928" xlink:to="us-gaap_ConstructionInProgressMember_638760207539782927" order="5" use="optional" 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_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_638760207539782927" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638760207539772928" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_638760207539782927" order="2" use="optional" 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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_638760207539782927" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638760207539782927" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_638760207539782927" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_638760207539782927" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638760207539782927" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_638760207539782927" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_638760207539782927" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638760207539782927" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_638760207539782927" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails" xlink:type="extended" xlink:title="99940302 - Disclosure - Property and equipment - Additional Information (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="us-gaap_PropertyPlantAndEquipmentAbstract_637048505953828785" />
    <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_638760207539792925" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract_637048505953828785" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638760207539792925" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/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_638760207539792925" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638760207539792925" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638760207539792925" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638760207539792925" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638760207539792925" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638760207539792925" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentMember" xlink:label="us-gaap_PropertyPlantAndEquipmentMember_638760207539792925" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638760207539792925" xlink:to="us-gaap_PropertyPlantAndEquipmentMember_638760207539792925" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638760207539792925" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638760207539792925" xlink:to="srt_RangeAxis_638760207539792925" order="2" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638760207539792925" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638760207539792925" xlink:to="srt_RangeMember_638760207539792925" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638760207539792925" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638760207539792925" xlink:to="srt_MinimumMember_638760207539792925" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638760207539802927" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638760207539792925" xlink:to="srt_MaximumMember_638760207539802927" order="2" use="optional" 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_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_638760207539802927" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638760207539792925" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_638760207539802927" order="3" use="optional" 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_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_638760207539802927" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638760207539802927" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_638760207539802927" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_638760207539802927" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638760207539802927" xlink:to="us-gaap_DepreciationDepletionAndAmortization_638760207539802927" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingAmountOfGoodwillDetails" xlink:type="extended" xlink:title="99940401 - Disclosure - Goodwill and Intangible Assets - Changes in carrying amount of goodwill (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-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_194" />
    <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_638760207539802927" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_194" xlink:to="us-gaap_Goodwill_638760207539802927" order="1" use="optional" 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_GoodwillForeignCurrencyTranslationGainLoss" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss_638760207539802927" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_194" xlink:to="us-gaap_GoodwillForeignCurrencyTranslationGainLoss_638760207539802927" order="2" use="optional" 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_Goodwill" xlink:label="us-gaap_Goodwill_6387602075398029271" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_194" xlink:to="us-gaap_Goodwill_6387602075398029271" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails" xlink:type="extended" xlink:title="99940402 - Disclosure - Goodwill and Intangible Assets - Acquisition-related 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="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638760207539812932" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_1" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638760207539812932" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638760207539812932" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638760207539812932" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638760207539812932" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638760207539812932" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638760207539812932" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638760207539812932" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_AcquiredIntangibleAssetsMember" xlink:label="inod_AcquiredIntangibleAssetsMember_638760207539812932" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638760207539812932" xlink:to="inod_AcquiredIntangibleAssetsMember_638760207539812932" order="1" use="optional" 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_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember_638760207539812932" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_AcquiredIntangibleAssetsMember_638760207539812932" xlink:to="us-gaap_DevelopedTechnologyRightsMember_638760207539812932" order="1" use="optional" 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_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember_638760207539812932" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_AcquiredIntangibleAssetsMember_638760207539812932" xlink:to="us-gaap_CustomerRelationshipsMember_638760207539812932" order="2" use="optional" 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_TrademarksAndTradeNamesMember" xlink:label="us-gaap_TrademarksAndTradeNamesMember_638760207539812932" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_AcquiredIntangibleAssetsMember_638760207539812932" xlink:to="us-gaap_TrademarksAndTradeNamesMember_638760207539812932" order="3" use="optional" 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_PatentsMember" xlink:label="us-gaap_PatentsMember_638760207539812932" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_AcquiredIntangibleAssetsMember_638760207539812932" xlink:to="us-gaap_PatentsMember_638760207539812932" order="4" use="optional" 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_DatabasesMember" xlink:label="us-gaap_DatabasesMember_638760207539822930" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_AcquiredIntangibleAssetsMember_638760207539812932" xlink:to="us-gaap_DatabasesMember_638760207539822930" order="5" use="optional" 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_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_638760207539822930" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638760207539812932" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember_638760207539822930" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_CapitalizedSoftwareDevelopmentCostMember" xlink:label="inod_CapitalizedSoftwareDevelopmentCostMember_638760207539822930" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComputerSoftwareIntangibleAssetMember_638760207539822930" xlink:to="inod_CapitalizedSoftwareDevelopmentCostMember_638760207539822930" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember" xlink:label="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_638760207539822930" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComputerSoftwareIntangibleAssetMember_638760207539822930" xlink:to="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_638760207539822930" order="2" use="optional" 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_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_638760207539822930" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638760207539812932" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_638760207539822930" order="2" use="optional" 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_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_638760207539822930" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638760207539822930" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_638760207539822930" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="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="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638760207539822930" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638760207539822930" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638760207539822930" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" xlink:label="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment_638760207539822930" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638760207539822930" xlink:to="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment_638760207539822930" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <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_638760207539822930" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638760207539822930" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_638760207539822930" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails" xlink:type="extended" xlink:title="99940403 - Disclosure - Goodwill and Intangible Assets - Estimated 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="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637505936525296591" />
    <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_638760207539832928" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637505936525296591" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_638760207539832928" order="1" use="optional" 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_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_638760207539832928" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637505936525296591" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_638760207539832928" order="2" use="optional" 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_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_638760207539832928" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637505936525296591" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_638760207539832928" order="3" use="optional" 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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_638760207539832928" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637505936525296591" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_638760207539832928" order="4" use="optional" 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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_638760207539832928" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637505936525296591" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_638760207539832928" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter" xlink:label="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter_638760207539832928" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637505936525296591" xlink:to="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter_638760207539832928" order="6" use="optional" 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_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_638760207539832928" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637505936525296591" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_638760207539832928" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails" xlink:type="extended" xlink:title="99940404 - Disclosure - Goodwill and 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-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_236" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638760207539842928" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_236" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638760207539842928" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638760207539842928" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638760207539842928" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638760207539842928" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638760207539842928" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638760207539842928" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638760207539842928" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_AcquiredIntangibleAssetsMember" xlink:label="inod_AcquiredIntangibleAssetsMember_638760207539842928" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638760207539842928" xlink:to="inod_AcquiredIntangibleAssetsMember_638760207539842928" order="1" use="optional" 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_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_638760207539842928" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638760207539842928" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember_638760207539842928" order="2" use="optional" 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_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_638760207539842928" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638760207539842928" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_638760207539842928" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss_638760207539842928" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638760207539842928" xlink:to="us-gaap_GoodwillImpairmentLoss_638760207539842928" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="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="us-gaap_Goodwill_638760207539852931" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638760207539842928" xlink:to="us-gaap_Goodwill_638760207539852931" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <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_638760207539852931" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638760207539842928" xlink:to="us-gaap_AmortizationOfIntangibleAssets_638760207539852931" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails" xlink:type="extended" xlink:title="99940501 - Disclosure - Income Taxes - Components of provision for 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="us-gaap_IncomeTaxDisclosureAbstract_637048505953948876" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_638760207539852931" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637048505953948876" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_638760207539852931" order="1" use="optional" 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_CurrentForeignTaxExpenseBenefit" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit_638760207539852931" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_638760207539852931" xlink:to="us-gaap_CurrentForeignTaxExpenseBenefit_638760207539852931" order="1" use="optional" 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_CurrentFederalTaxExpenseBenefit" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit_638760207539852931" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_638760207539852931" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit_638760207539852931" order="2" use="optional" 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_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_638760207539852931" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_638760207539852931" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_638760207539852931" order="3" use="optional" 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_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_638760207539852931" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_638760207539852931" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_638760207539852931" order="4" use="optional" 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_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_638760207539862931" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637048505953948876" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_638760207539862931" order="2" use="optional" 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_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_638760207539862931" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_638760207539862931" xlink:to="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_638760207539862931" order="1" use="optional" 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_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_638760207539862931" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_638760207539862931" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_638760207539862931" order="2" use="optional" 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_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_638760207539862931" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_638760207539862931" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_638760207539862931" order="3" use="optional" 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_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_638760207539862931" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_638760207539862931" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_638760207539862931" order="4" use="optional" 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="us-gaap_IncomeTaxExpenseBenefit_638760207539862931" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637048505953948876" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638760207539862931" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails" xlink:type="extended" xlink:title="99940502 - Disclosure - Income Taxes - Tax rate reconciliation (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="us-gaap_IncomeTaxDisclosureAbstract_637505925387840601" />
    <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_638760207539862931" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637505925387840601" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_638760207539862931" order="1" use="optional" 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_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638760207539872939" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637505925387840601" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638760207539872939" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_EffectiveIncomeTaxRateReconciliationSection162Percentage" xlink:label="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage_638760207539872939" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638760207539872939" xlink:to="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage_638760207539872939" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent_638760207539872939" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638760207539872939" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent_638760207539872939" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign_638760207539872939" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638760207539872939" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign_638760207539872939" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp" xlink:label="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp_638760207539872939" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638760207539872939" xlink:to="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp_638760207539872939" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses" xlink:label="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses_638760207539872939" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638760207539872939" xlink:to="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses_638760207539872939" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage" xlink:label="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage_638760207539872939" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638760207539872939" xlink:to="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage_638760207539872939" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_638760207539872939" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638760207539872939" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_638760207539872939" order="7" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent" xlink:label="inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent_638760207539872939" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638760207539872939" xlink:to="inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent_638760207539872939" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" xlink:label="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent_638760207539872939" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638760207539872939" xlink:to="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent_638760207539872939" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_638760207539882935" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638760207539872939" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_638760207539882935" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_638760207539882935" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638760207539872939" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_638760207539882935" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInUnrecognizedTaxBenefits" xlink:label="inod_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInUnrecognizedTaxBenefits_638760207539882935" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638760207539872939" xlink:to="inod_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInUnrecognizedTaxBenefits_638760207539882935" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_638760207539882935" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638760207539872939" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_638760207539882935" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_638760207539882935" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638760207539872939" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_638760207539882935" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_638760207539882935" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638760207539872939" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_638760207539882935" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_638760207539882935" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638760207539872939" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_638760207539882935" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="extended" xlink:title="99940503 - Disclosure - Income Taxes - Deferred tax assets and 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="us-gaap_IncomeTaxDisclosureAbstract_637048505954028930" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsGrossAbstract" xlink:label="us-gaap_DeferredTaxAssetsGrossAbstract_638760207539892931" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637048505954028930" xlink:to="us-gaap_DeferredTaxAssetsGrossAbstract_638760207539892931" order="1" use="optional" 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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals_638760207539892931" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638760207539892931" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals_638760207539892931" order="1" use="optional" 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_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_638760207539892931" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638760207539892931" xlink:to="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_638760207539892931" order="2" use="optional" 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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits_638760207539892931" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638760207539892931" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits_638760207539892931" order="3" use="optional" 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_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_638760207539892931" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638760207539892931" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_638760207539892931" order="4" use="optional" 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_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_638760207539892931" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638760207539892931" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_638760207539892931" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid" xlink:label="inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid_638760207539892931" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638760207539892931" xlink:to="inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid_638760207539892931" order="6" use="optional" 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_DeferredTaxAssetsOther" xlink:label="us-gaap_DeferredTaxAssetsOther_638760207539902934" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638760207539892931" xlink:to="us-gaap_DeferredTaxAssetsOther_638760207539902934" order="7" use="optional" 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_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross_638760207539902934" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638760207539892931" xlink:to="us-gaap_DeferredTaxAssetsGross_638760207539902934" order="8" use="optional" 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="us-gaap_DeferredTaxAssetsValuationAllowance_638760207539902934" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638760207539892931" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_638760207539902934" order="9" use="optional" 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="us-gaap_DeferredTaxAssetsNet_638760207539902934" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638760207539892931" xlink:to="us-gaap_DeferredTaxAssetsNet_638760207539902934" order="10" use="optional" 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_ComponentsOfDeferredTaxLiabilitiesAbstract" xlink:label="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract_638760207539902934" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637048505954028930" xlink:to="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract_638760207539902934" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsAmortizationOfIntangibleAssets" xlink:label="inod_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsAmortizationOfIntangibleAssets_638760207539902934" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract_638760207539902934" xlink:to="inod_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsAmortizationOfIntangibleAssets_638760207539902934" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_638760207539902934" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract_638760207539902934" xlink:to="us-gaap_DeferredTaxLiabilitiesOther_638760207539902934" order="2" use="optional" 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="us-gaap_DeferredIncomeTaxLiabilities_638760207539902934" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract_638760207539902934" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_638760207539902934" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_638760207539912932" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637048505954028930" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet_638760207539912932" order="3" use="optional" 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_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet_638760207539912932" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637048505954028930" xlink:to="us-gaap_DeferredTaxAssetsNet_638760207539912932" order="4" use="optional" 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_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_638760207539912932" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637048505954028930" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_638760207539912932" order="5" use="optional" 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_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_6387602075399129321" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637048505954028930" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet_6387602075399129321" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnitedStatesAndForeignComponentsOfIncomeLossDetails" xlink:type="extended" xlink:title="99940504 - Disclosure - Income Taxes - United States and foreign components of income (loss) (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="us-gaap_IncomeTaxDisclosureAbstract_637048505954068963" />
    <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_638760207539912932" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637048505954068963" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_638760207539912932" order="1" use="optional" 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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_638760207539912932" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637048505954068963" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_638760207539912932" order="2" use="optional" 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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638760207539922934" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637048505954068963" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638760207539922934" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails" xlink:type="extended" xlink:title="99940505 - Disclosure - Income Taxes - Unrecognized tax benefits (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-gaap_IncomeTaxDisclosureAbstract_352207" />
    <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_638760207539922934" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_352207" xlink:to="us-gaap_UnrecognizedTaxBenefits_638760207539922934" order="1" use="optional" 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_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_638760207539922934" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_352207" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_638760207539922934" order="2" use="optional" 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_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_638760207539922934" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_352207" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_638760207539922934" order="3" use="optional" 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_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" xlink:label="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense_638760207539922934" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_352207" xlink:to="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense_638760207539922934" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation" xlink:label="inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation_638760207539922934" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_352207" xlink:to="inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation_638760207539922934" order="5" use="optional" 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_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits_6387602075399229341" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_352207" xlink:to="us-gaap_UnrecognizedTaxBenefits_6387602075399229341" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails" xlink:type="extended" xlink:title="99940506 - Disclosure - 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="us-gaap_IncomeTaxDisclosureAbstract_637048505954104022" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_IncomeTaxesTable" xlink:label="inod_IncomeTaxesTable_638760207539932934" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637048505954104022" xlink:to="inod_IncomeTaxesTable_638760207539932934" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis_638760207539932934" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesTable_638760207539932934" xlink:to="us-gaap_IncomeTaxAuthorityAxis_638760207539932934" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain_638760207539932934" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis_638760207539932934" xlink:to="us-gaap_IncomeTaxAuthorityDomain_638760207539932934" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember_638760207539932934" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638760207539932934" xlink:to="us-gaap_DomesticCountryMember_638760207539932934" order="1" use="optional" 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_StateAndLocalJurisdictionMember" xlink:label="us-gaap_StateAndLocalJurisdictionMember_638760207539932934" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638760207539932934" xlink:to="us-gaap_StateAndLocalJurisdictionMember_638760207539932934" order="2" use="optional" 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_ForeignCountryMember" xlink:label="us-gaap_ForeignCountryMember_638760207539932934" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638760207539932934" xlink:to="us-gaap_ForeignCountryMember_638760207539932934" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_638760207539932934" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesTable_638760207539932934" xlink:to="srt_ConsolidatedEntitiesAxis_638760207539932934" order="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638760207539932934" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_638760207539932934" xlink:to="srt_ConsolidatedEntitiesDomain_638760207539932934" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_CanadianSubsidiariesMember" xlink:label="inod_CanadianSubsidiariesMember_638760207539942938" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638760207539932934" xlink:to="inod_CanadianSubsidiariesMember_638760207539942938" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_GermanAndUnitedKingdomSubsidiariesMember" xlink:label="inod_GermanAndUnitedKingdomSubsidiariesMember_638760207539942938" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638760207539932934" xlink:to="inod_GermanAndUnitedKingdomSubsidiariesMember_638760207539942938" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_AgilityMember" xlink:label="inod_AgilityMember_638760207539942938" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638760207539932934" xlink:to="inod_AgilityMember_638760207539942938" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_IncomeTaxesLineItems" xlink:label="inod_IncomeTaxesLineItems_638760207539942938" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesTable_638760207539932934" xlink:to="inod_IncomeTaxesLineItems_638760207539942938" order="3" use="optional" 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_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_638760207539942938" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesLineItems_638760207539942938" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_638760207539942938" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_638760207539942938" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesLineItems_638760207539942938" xlink:to="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_638760207539942938" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <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_638760207539942938" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesLineItems_638760207539942938" xlink:to="us-gaap_OperatingLossCarryforwards_638760207539942938" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration_638760207539942938" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesLineItems_638760207539942938" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration_638760207539942938" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration_638760207539942938" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesLineItems_638760207539942938" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration_638760207539942938" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_638760207539952933" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesLineItems_638760207539942938" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_638760207539952933" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries_638760207539952933" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesLineItems_638760207539942938" xlink:to="us-gaap_UndistributedEarningsOfForeignSubsidiaries_638760207539952933" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <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_638760207539952933" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesLineItems_638760207539942938" xlink:to="us-gaap_UnrecognizedTaxBenefits_638760207539952933" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_638760207539952933" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesLineItems_638760207539942938" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_638760207539952933" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails" xlink:type="extended" xlink:title="99940601 - Disclosure - Long-term obligations (Details)">
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LongTermObligationsAbstract" xlink:label="inod_LongTermObligationsAbstract_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent" xlink:label="us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent_638760207539952933" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_LongTermObligationsAbstract_1" xlink:to="us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent_638760207539952933" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_MicrosoftLicensesObligations" xlink:label="inod_MicrosoftLicensesObligations_638760207539952933" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_LongTermObligationsAbstract_1" xlink:to="inod_MicrosoftLicensesObligations_638760207539952933" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_TotalLongTermObligations" xlink:label="inod_TotalLongTermObligations_638760207539952933" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_LongTermObligationsAbstract_1" xlink:to="inod_TotalLongTermObligations_638760207539952933" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_CurrentPortionOfLongTermObligations" xlink:label="inod_CurrentPortionOfLongTermObligations_638760207539962940" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_LongTermObligationsAbstract_1" xlink:to="inod_CurrentPortionOfLongTermObligations_638760207539962940" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_NoncurrentPortionOfLongTermObligations" xlink:label="inod_NoncurrentPortionOfLongTermObligations_638760207539962940" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_LongTermObligationsAbstract_1" xlink:to="inod_NoncurrentPortionOfLongTermObligations_638760207539962940" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LicensesObligationsAmountPayableAnnually" xlink:label="inod_LicensesObligationsAmountPayableAnnually_638760207539962940" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_LongTermObligationsAbstract_1" xlink:to="inod_LicensesObligationsAmountPayableAnnually_638760207539962940" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingenciesDetails" xlink:type="extended" xlink:title="99940701 - Disclosure - Commitments and Contingencies (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_637048505954754533" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LitigationReserve" xlink:label="us-gaap_LitigationReserve_638760207539962940" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_637048505954754533" xlink:to="us-gaap_LitigationReserve_638760207539962940" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_InterestRateDescriptionLitigation" xlink:label="inod_InterestRateDescriptionLitigation_638760207539962940" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_637048505954754533" xlink:to="inod_InterestRateDescriptionLitigation_638760207539962940" order="2" use="optional" 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_LossContingencyAccrualAtCarryingValue" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue_638760207539962940" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_637048505954754533" xlink:to="us-gaap_LossContingencyAccrualAtCarryingValue_638760207539962940" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails" xlink:type="extended" xlink:title="99940801 - Disclosure - Operating Leases (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeDisclosureAbstract" xlink:label="us-gaap_LesseeDisclosureAbstract_5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable_638760207539972943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_5" xlink:to="us-gaap_LesseeLeaseDescriptionTable_638760207539972943" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638760207539972943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionTable_638760207539972943" xlink:to="srt_RangeAxis_638760207539972943" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638760207539972943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638760207539972943" xlink:to="srt_RangeMember_638760207539972943" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638760207539972943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638760207539972943" xlink:to="srt_MinimumMember_638760207539972943" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638760207539972943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638760207539972943" xlink:to="srt_MaximumMember_638760207539972943" order="2" use="optional" 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_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems_638760207539972943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionTable_638760207539972943" xlink:to="us-gaap_LesseeLeaseDescriptionLineItems_638760207539972943" order="2" use="optional" 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_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract_638760207539972943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_638760207539972943" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract_638760207539972943" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_PercentageOfRentalEscalations" xlink:label="inod_PercentageOfRentalEscalations_638760207539972943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_638760207539972943" xlink:to="inod_PercentageOfRentalEscalations_638760207539972943" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails" xlink:type="extended" xlink:title="99940802 - Disclosure - Operating Leases - Financial statements related to operating leases (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeDisclosureAbstract" xlink:label="us-gaap_LesseeDisclosureAbstract_2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable_638760207539982939" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_2" xlink:to="us-gaap_LesseeLeaseDescriptionTable_638760207539982939" order="1" use="optional" />
    <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_638760207539982939" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionTable_638760207539982939" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638760207539982939" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638760207539982939" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638760207539982939" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638760207539982939" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LongTermOperatingLeaseMember" xlink:label="inod_LongTermOperatingLeaseMember_638760207539982939" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638760207539982939" xlink:to="inod_LongTermOperatingLeaseMember_638760207539982939" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ShortTermOperatingLeaseMember" xlink:label="inod_ShortTermOperatingLeaseMember_638760207539982939" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638760207539982939" xlink:to="inod_ShortTermOperatingLeaseMember_638760207539982939" order="2" use="optional" 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_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems_638760207539982939" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionTable_638760207539982939" xlink:to="us-gaap_LesseeLeaseDescriptionLineItems_638760207539982939" order="2" use="optional" 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_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense_638760207539982939" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_638760207539982939" xlink:to="us-gaap_OperatingLeaseExpense_638760207539982939" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails" xlink:type="extended" xlink:title="99940803 - Disclosure - Operating Leases - Net present value of the operating lease liability (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeDisclosureAbstract" xlink:label="us-gaap_LesseeDisclosureAbstract_3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638760207539992940" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638760207539992940" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638760207539992940" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638760207539992940" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_638760207539992940" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_638760207539992940" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638760207539992940" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638760207539992940" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_638760207539992940" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_638760207539992940" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LesseeOperatingLeaseLiabilityToBePaidThereafter" xlink:label="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter_638760207539992940" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter_638760207539992940" order="6" use="optional" 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_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_638760207539992940" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_638760207539992940" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_638760207539992940" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_638760207539992940" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" />
    <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_638760207539992940" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_OperatingLeaseLiability_638760207539992940" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <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_638760207540002939" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638760207540002939" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638760207540002939" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638760207540002939" order="11" use="optional" 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_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_638760207540002939" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_OperatingLeaseLiability_638760207540002939" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesWeightedAverageRemainingLeaseTermsDetails" xlink:type="extended" xlink:title="99940804 - Disclosure - Operating Leases - Weighted average remaining lease terms (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeDisclosureAbstract" xlink:label="us-gaap_LesseeDisclosureAbstract_4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_638760207540002939" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_4" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_638760207540002939" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_638760207540002939" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_4" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_638760207540002939" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsBenefitObligationsDetails" xlink:type="extended" xlink:title="99940901 - Disclosure - Pension Benefits - Benefit Obligations (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954824576" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanBenefitObligation" xlink:label="us-gaap_DefinedBenefitPlanBenefitObligation_638760207540012946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954824576" xlink:to="us-gaap_DefinedBenefitPlanBenefitObligation_638760207540012946" order="1" use="optional" 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_DefinedBenefitPlanServiceCost" xlink:label="us-gaap_DefinedBenefitPlanServiceCost_638760207540012946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954824576" xlink:to="us-gaap_DefinedBenefitPlanServiceCost_638760207540012946" order="2" use="optional" 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_DefinedBenefitPlanInterestCost" xlink:label="us-gaap_DefinedBenefitPlanInterestCost_638760207540012946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954824576" xlink:to="us-gaap_DefinedBenefitPlanInterestCost_638760207540012946" order="3" use="optional" 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_DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList" xlink:label="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList_638760207540012946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954824576" xlink:to="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList_638760207540012946" order="4" use="optional" 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_DefinedBenefitPlanActuarialGainLoss" xlink:label="us-gaap_DefinedBenefitPlanActuarialGainLoss_638760207540012946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954824576" xlink:to="us-gaap_DefinedBenefitPlanActuarialGainLoss_638760207540012946" order="5" use="optional" 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_DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss" xlink:label="us-gaap_DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss_638760207540012946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954824576" xlink:to="us-gaap_DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss_638760207540012946" order="6" use="optional" 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_DefinedBenefitPlanBenefitObligationBenefitsPaid" xlink:label="us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid_638760207540012946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954824576" xlink:to="us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid_638760207540012946" order="7" use="optional" 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_DefinedBenefitPlanBenefitObligation" xlink:label="us-gaap_DefinedBenefitPlanBenefitObligation_638760207540022943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954824576" xlink:to="us-gaap_DefinedBenefitPlanBenefitObligation_638760207540022943" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails" xlink:type="extended" xlink:title="99940902 - Disclosure - Pension Benefits - Components of Net Periodic Pension Cost (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954844586" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanServiceCost" xlink:label="us-gaap_DefinedBenefitPlanServiceCost_638760207540022943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954844586" xlink:to="us-gaap_DefinedBenefitPlanServiceCost_638760207540022943" order="1" use="optional" 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_DefinedBenefitPlanInterestCost" xlink:label="us-gaap_DefinedBenefitPlanInterestCost_638760207540022943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954844586" xlink:to="us-gaap_DefinedBenefitPlanInterestCost_638760207540022943" order="2" use="optional" 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_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit" xlink:label="us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit_638760207540022943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954844586" xlink:to="us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit_638760207540022943" order="3" use="optional" 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_DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList" xlink:label="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList_638760207540022943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954844586" xlink:to="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList_638760207540022943" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:label="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_638760207540022943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954844586" xlink:to="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_638760207540022943" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsRecognizedInBalanceSheetsDetails" xlink:type="extended" xlink:title="99940903 - Disclosure - Pension Benefits - Recognized in balance sheets (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954854594" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities_638760207540032941" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954854594" xlink:to="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities_638760207540032941" order="1" use="optional" 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_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent_638760207540032941" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954854594" xlink:to="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent_638760207540032941" order="2" use="optional" 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_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent_638760207540032941" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954854594" xlink:to="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent_638760207540032941" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails" xlink:type="extended" xlink:title="99940904 - Disclosure - Pension Benefits - Actuarial assumptions (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954874608" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:label="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_638760207540032941" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954874608" xlink:to="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_638760207540032941" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638760207540032941" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_638760207540032941" xlink:to="srt_RangeAxis_638760207540032941" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638760207540032941" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638760207540032941" xlink:to="srt_RangeMember_638760207540032941" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638760207540042943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638760207540032941" xlink:to="srt_MinimumMember_638760207540042943" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638760207540042943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638760207540032941" xlink:to="srt_MaximumMember_638760207540042943" order="2" use="optional" 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_DefinedBenefitPlanDisclosureLineItems" xlink:label="us-gaap_DefinedBenefitPlanDisclosureLineItems_638760207540042943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_638760207540032941" xlink:to="us-gaap_DefinedBenefitPlanDisclosureLineItems_638760207540042943" order="2" use="optional" 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_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" xlink:label="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate_638760207540042943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems_638760207540042943" xlink:to="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate_638760207540042943" order="1" use="optional" 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_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease" xlink:label="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease_638760207540042943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems_638760207540042943" xlink:to="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease_638760207540042943" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails" xlink:type="extended" xlink:title="99940905 - Disclosure - Pension Benefits - Estimated future benefit payments (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954894627" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths_638760207540042943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954894627" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths_638760207540042943" order="1" use="optional" 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_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo_638760207540042943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954894627" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo_638760207540042943" order="2" use="optional" 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_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree_638760207540042943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954894627" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree_638760207540042943" order="3" use="optional" 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_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour_638760207540052942" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954894627" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour_638760207540052942" order="4" use="optional" 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_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive_638760207540052942" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954894627" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive_638760207540052942" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearTen" xlink:label="inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearTen_638760207540052942" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954894627" xlink:to="inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearTen_638760207540052942" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_DefinedBenefitPlanExpectedFutureBenefitPayments" xlink:label="inod_DefinedBenefitPlanExpectedFutureBenefitPayments_638760207540052942" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954894627" xlink:to="inod_DefinedBenefitPlanExpectedFutureBenefitPayments_638760207540052942" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails" xlink:type="extended" xlink:title="99940906 - Disclosure - Pension Benefits - Additional Information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954914645" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:label="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_638760207540052942" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954914645" xlink:to="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_638760207540052942" order="1" use="optional" />
    <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_638760207540052942" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_638760207540052942" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_638760207540052942" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain_638760207540052942" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_638760207540052942" xlink:to="us-gaap_RelatedPartyDomain_638760207540052942" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="srt_SubsidiariesMember_638760207540062943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638760207540052942" xlink:to="srt_SubsidiariesMember_638760207540062943" order="1" use="optional" 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_DefinedBenefitPlanDisclosureLineItems" xlink:label="us-gaap_DefinedBenefitPlanDisclosureLineItems_638760207540062943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_638760207540052942" xlink:to="us-gaap_DefinedBenefitPlanDisclosureLineItems_638760207540062943" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible" xlink:label="inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible_638760207540062943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems_638760207540062943" xlink:to="inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible_638760207540062943" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionExpense" xlink:label="us-gaap_PensionExpense_638760207540062943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems_638760207540062943" xlink:to="us-gaap_PensionExpense_638760207540062943" order="2" use="optional" 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_DefinedBenefitPlanAccumulatedBenefitObligation" xlink:label="us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation_638760207540062943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems_638760207540062943" xlink:to="us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation_638760207540062943" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails" xlink:type="extended" xlink:title="99941001 - Disclosure - Capital Stock (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityNoteAbstract" xlink:label="us-gaap_StockholdersEquityNoteAbstract_637048505954964674" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="us-gaap_ScheduleOfStockByClassTable_638760207540062943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityNoteAbstract_637048505954964674" xlink:to="us-gaap_ScheduleOfStockByClassTable_638760207540062943" order="1" use="optional" />
    <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_638760207540062943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfStockByClassTable_638760207540062943" xlink:to="us-gaap_StatementEquityComponentsAxis_638760207540062943" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_638760207540072946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638760207540062943" xlink:to="us-gaap_EquityComponentDomain_638760207540072946" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember_638760207540072946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain_638760207540072946" xlink:to="us-gaap_TreasuryStockCommonMember_638760207540072946" order="1" use="optional" 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_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis_638760207540072946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfStockByClassTable_638760207540062943" xlink:to="us-gaap_PlanNameAxis_638760207540072946" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638760207540072946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis_638760207540072946" xlink:to="us-gaap_PlanNameDomain_638760207540072946" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_July2019Member" xlink:label="inod_July2019Member_638760207540072946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638760207540072946" xlink:to="inod_July2019Member_638760207540072946" order="1" use="optional" 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_ClassOfStockLineItems" xlink:label="us-gaap_ClassOfStockLineItems_638760207540072946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfStockByClassTable_638760207540062943" xlink:to="us-gaap_ClassOfStockLineItems_638760207540072946" order="3" use="optional" 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_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized_638760207540072946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems_638760207540072946" xlink:to="us-gaap_CommonStockSharesAuthorized_638760207540072946" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_NumberOfVotesForEachShareOfCommonStock" xlink:label="inod_NumberOfVotesForEachShareOfCommonStock_638760207540072946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems_638760207540072946" xlink:to="inod_NumberOfVotesForEachShareOfCommonStock_638760207540072946" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockDividendsPerShareDeclared" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared_638760207540072946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems_638760207540072946" xlink:to="us-gaap_CommonStockDividendsPerShareDeclared_638760207540072946" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <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_638760207540082942" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems_638760207540072946" xlink:to="us-gaap_PreferredStockSharesAuthorized_638760207540082942" order="4" use="optional" 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_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_638760207540082942" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems_638760207540072946" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_638760207540082942" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StockRepurchaseProgramAuthorizedAmount1" xlink:label="srt_StockRepurchaseProgramAuthorizedAmount1_638760207540082942" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems_638760207540072946" xlink:to="srt_StockRepurchaseProgramAuthorizedAmount1_638760207540082942" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_638760207540082942" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems_638760207540072946" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_638760207540082942" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue_638760207540082942" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems_638760207540072946" xlink:to="us-gaap_TreasuryStockCommonValue_638760207540082942" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails" xlink:type="extended" xlink:title="99941101 - Disclosure - Stock Options - Weighted Average Fair Values and 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="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_637048505955084768" />
    <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_638760207540092946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_637048505955084768" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638760207540092946" order="1" use="optional" />
    <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_638760207540092946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638760207540092946" xlink:to="us-gaap_AwardTypeAxis_638760207540092946" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207540092946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638760207540092946" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207540092946" order="1" use="optional" />
    <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_638760207540092946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207540092946" xlink:to="us-gaap_EmployeeStockOptionMember_638760207540092946" order="1" use="optional" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540092946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638760207540092946" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540092946" order="2" use="optional" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638760207540092946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540092946" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638760207540092946" order="1" use="optional" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_638760207540092946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540092946" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_638760207540092946" order="2" use="optional" 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_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_638760207540092946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540092946" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_638760207540092946" order="3" use="optional" 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="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_638760207540092946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540092946" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_638760207540092946" order="4" use="optional" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_638760207540092946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540092946" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_638760207540092946" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails" xlink:type="extended" xlink:title="99941102 - Disclosure - Stock Options - Summary of Stock Option Activity (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-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_338" />
    <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_638760207540102943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_338" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638760207540102943" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:label="us-gaap_OptionIndexedToIssuersEquityEquityAxis_638760207540102943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638760207540102943" xlink:to="us-gaap_OptionIndexedToIssuersEquityEquityAxis_638760207540102943" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638760207540102943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OptionIndexedToIssuersEquityEquityAxis_638760207540102943" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638760207540102943" order="1" use="optional" />
    <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_638760207540102943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638760207540102943" xlink:to="us-gaap_EmployeeStockOptionMember_638760207540102943" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis_638760207540102943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638760207540102943" xlink:to="srt_TitleOfIndividualAxis_638760207540102943" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_638760207540102943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis_638760207540102943" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_638760207540102943" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_DirectorMember" xlink:label="srt_DirectorMember_638760207540112946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain_638760207540102943" xlink:to="srt_DirectorMember_638760207540112946" order="1" use="optional" 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_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_638760207540112946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638760207540102943" xlink:to="us-gaap_AwardTypeAxis_638760207540112946" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207540112946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638760207540112946" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207540112946" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_638760207540112946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207540112946" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_638760207540112946" order="1" use="optional" 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_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis_638760207540112946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638760207540102943" xlink:to="us-gaap_PlanNameAxis_638760207540112946" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638760207540112946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis_638760207540112946" xlink:to="us-gaap_PlanNameDomain_638760207540112946" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_TwoThousandThirteenStockPlanMember" xlink:label="inod_TwoThousandThirteenStockPlanMember_638760207540112946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638760207540112946" xlink:to="inod_TwoThousandThirteenStockPlanMember_638760207540112946" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_TwoThousandTwentyOneEquityCompensationPlanMember" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanMember_638760207540112946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638760207540112946" xlink:to="inod_TwoThousandTwentyOneEquityCompensationPlanMember_638760207540112946" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_EquityPlansMember" xlink:label="inod_EquityPlansMember_638760207540112946" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638760207540112946" xlink:to="inod_EquityPlansMember_638760207540112946" order="3" use="optional" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540122943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638760207540102943" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540122943" order="5" use="optional" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_638760207540122943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540122943" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_638760207540122943" order="1" use="optional" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_638760207540122943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540122943" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_638760207540122943" order="2" use="optional" 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_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638760207540122943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540122943" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638760207540122943" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="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="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_638760207540122943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540122943" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_638760207540122943" order="4" use="optional" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_6387602075401229431" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540122943" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_6387602075401229431" order="5" use="optional" 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="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_638760207540122943" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540122943" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_638760207540122943" order="6" use="optional" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_638760207540132944" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540122943" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_638760207540132944" order="7" use="optional" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_638760207540132944" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540122943" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_638760207540132944" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="1" />
    <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_638760207540132944" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540122943" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_638760207540132944" order="9" use="optional" 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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_638760207540132944" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540122943" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_638760207540132944" order="10" use="optional" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_638760207540132944" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540122943" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_638760207540132944" order="11" use="optional" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_6387602075401329441" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540122943" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_6387602075401329441" order="12" use="optional" 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="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_638760207540142944" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540122943" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_638760207540142944" order="13" use="optional" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_638760207540142944" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540122943" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_638760207540142944" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <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_638760207540142944" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540122943" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_638760207540142944" order="15" use="optional" 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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_638760207540142944" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540122943" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_638760207540142944" order="16" use="optional" 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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_638760207540142944" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540122943" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_638760207540142944" order="17" use="optional" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_638760207540142944" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540122943" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_638760207540142944" order="18" use="optional" 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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_638760207540152947" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540122943" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_638760207540152947" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <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_638760207540152947" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540122943" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_638760207540152947" order="20" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails" xlink:type="extended" xlink:title="99941103 - Disclosure - Stock Options - Summary of stock option and Restricted Stock option activity (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-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_412015" />
    <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_638760207540152947" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_412015" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638760207540152947" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis_638760207540162950" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638760207540152947" xlink:to="srt_TitleOfIndividualAxis_638760207540162950" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_638760207540162950" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis_638760207540162950" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_638760207540162950" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_NonEmployeeMember" xlink:label="inod_NonEmployeeMember_638760207540162950" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain_638760207540162950" xlink:to="inod_NonEmployeeMember_638760207540162950" order="1" use="optional" 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_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_638760207540162950" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638760207540152947" xlink:to="us-gaap_AwardTypeAxis_638760207540162950" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207540162950" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638760207540162950" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207540162950" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_638760207540162950" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207540162950" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_638760207540162950" order="1" use="optional" 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_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis_638760207540162950" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638760207540152947" xlink:to="us-gaap_PlanNameAxis_638760207540162950" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638760207540162950" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis_638760207540162950" xlink:to="us-gaap_PlanNameDomain_638760207540162950" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_EquityPlansMember" xlink:label="inod_EquityPlansMember_638760207540162950" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638760207540162950" xlink:to="inod_EquityPlansMember_638760207540162950" order="1" use="optional" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540162950" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638760207540152947" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540162950" order="4" use="optional" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_638760207540232980" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540162950" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_638760207540232980" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638760207540232980" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540162950" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638760207540232980" order="2" use="optional" 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_ShareBasedPaymentArrangementGranteeStatusExtensibleList" xlink:label="us-gaap_ShareBasedPaymentArrangementGranteeStatusExtensibleList_638760207540232980" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638760207540232980" xlink:to="us-gaap_ShareBasedPaymentArrangementGranteeStatusExtensibleList_638760207540232980" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_638760207540232980" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540162950" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_638760207540232980" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_6387602075402329801" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540162950" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_6387602075402329801" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_638760207540232980" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540162950" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_638760207540232980" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638760207540232980" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540162950" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638760207540232980" order="6" use="optional" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_638760207540242970" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540162950" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_638760207540242970" order="7" use="optional" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_638760207540242970" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540162950" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_638760207540242970" order="8" use="optional" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_638760207540242970" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540162950" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_638760207540242970" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="4" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails" xlink:type="extended" xlink:title="99941104 - Disclosure - Stock Options - Additional Information (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="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_637048505955174857" />
    <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_638760207540242970" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_637048505955174857" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638760207540242970" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis_638760207540252963" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638760207540242970" xlink:to="us-gaap_PlanNameAxis_638760207540252963" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638760207540252963" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis_638760207540252963" xlink:to="us-gaap_PlanNameDomain_638760207540252963" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_TwoThousandThirteenStockPlanMember" xlink:label="inod_TwoThousandThirteenStockPlanMember_638760207540252963" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638760207540252963" xlink:to="inod_TwoThousandThirteenStockPlanMember_638760207540252963" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_TwoThousandTwentyOneEquityCompensationPlanMember" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanMember_638760207540252963" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638760207540252963" xlink:to="inod_TwoThousandTwentyOneEquityCompensationPlanMember_638760207540252963" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember_638760207540252963" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_TwoThousandTwentyOneEquityCompensationPlanMember_638760207540252963" xlink:to="inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember_638760207540252963" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_AwardsGrantedPriorToApril112022Member" xlink:label="inod_AwardsGrantedPriorToApril112022Member_638760207540252963" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_TwoThousandTwentyOneEquityCompensationPlanMember_638760207540252963" xlink:to="inod_AwardsGrantedPriorToApril112022Member_638760207540252963" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_AwardsGrantedOnOrAfterApril112022Member" xlink:label="inod_AwardsGrantedOnOrAfterApril112022Member_638760207540252963" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_TwoThousandTwentyOneEquityCompensationPlanMember_638760207540252963" xlink:to="inod_AwardsGrantedOnOrAfterApril112022Member_638760207540252963" order="3" use="optional" 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_OptionIndexedToIssuersEquityEquityAxis" xlink:label="us-gaap_OptionIndexedToIssuersEquityEquityAxis_638760207540252963" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638760207540242970" xlink:to="us-gaap_OptionIndexedToIssuersEquityEquityAxis_638760207540252963" order="2" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638760207540252963" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OptionIndexedToIssuersEquityEquityAxis_638760207540252963" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638760207540252963" order="1" use="optional" />
    <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_638760207540252963" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638760207540252963" xlink:to="us-gaap_EmployeeStockOptionMember_638760207540252963" order="1" use="optional" 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_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_638760207540252963" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638760207540242970" xlink:to="us-gaap_AwardTypeAxis_638760207540252963" order="3" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207540262954" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638760207540252963" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207540262954" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_638760207540262954" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207540262954" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_638760207540262954" order="1" use="optional" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540262954" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638760207540242970" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540262954" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights" xlink:label="inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights_638760207540262954" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540262954" xlink:to="inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights_638760207540262954" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_638760207540262954" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540262954" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_638760207540262954" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio" xlink:label="inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio_638760207540262954" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540262954" xlink:to="inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio_638760207540262954" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <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_638760207540262954" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540262954" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_638760207540262954" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <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_638760207540272951" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540262954" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_638760207540272951" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="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="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_638760207540272951" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638760207540262954" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_638760207540272951" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureRedemptionOfNonControllingInterestDetails" xlink:type="extended" xlink:title="99941201 - Disclosure - Redemption of non-controlling interest (Details)">
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_RedemptionOfNonControllingInterestAbstract" xlink:label="inod_RedemptionOfNonControllingInterestAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RedeemableNoncontrollingInterestByLegalEntityTable" xlink:label="us-gaap_RedeemableNoncontrollingInterestByLegalEntityTable_638760207540272951" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_RedemptionOfNonControllingInterestAbstract" xlink:to="us-gaap_RedeemableNoncontrollingInterestByLegalEntityTable_638760207540272951" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis_638760207540272951" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RedeemableNoncontrollingInterestByLegalEntityTable_638760207540272951" xlink:to="us-gaap_BalanceSheetLocationAxis_638760207540272951" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_638760207540272951" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis_638760207540272951" xlink:to="us-gaap_BalanceSheetLocationDomain_638760207540272951" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember_638760207540272951" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_638760207540272951" xlink:to="us-gaap_AdditionalPaidInCapitalMember_638760207540272951" order="1" use="optional" 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_RedeemableNoncontrollingInterestLineItems" xlink:label="us-gaap_RedeemableNoncontrollingInterestLineItems_638760207540282957" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RedeemableNoncontrollingInterestByLegalEntityTable_638760207540272951" xlink:to="us-gaap_RedeemableNoncontrollingInterestLineItems_638760207540282957" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_NoncontrollingInterestRedemptionPercentageByParent" xlink:label="inod_NoncontrollingInterestRedemptionPercentageByParent_638760207540282957" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RedeemableNoncontrollingInterestLineItems_638760207540282957" xlink:to="inod_NoncontrollingInterestRedemptionPercentageByParent_638760207540282957" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount" xlink:label="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount_638760207540282957" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RedeemableNoncontrollingInterestLineItems_638760207540282957" xlink:to="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount_638760207540282957" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails" xlink:type="extended" xlink:title="99941301 - Disclosure - Comprehensive loss - Reclassifications from accumulated other comprehensive loss (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_638760207540282957" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_638760207540282957" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <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_638760207540282957" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_638760207540282957" xlink:to="us-gaap_StatementEquityComponentsAxis_638760207540282957" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_638760207540282957" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638760207540282957" xlink:to="us-gaap_EquityComponentDomain_638760207540282957" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember" xlink:label="us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_638760207540282957" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain_638760207540282957" xlink:to="us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_638760207540282957" order="1" use="optional" 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_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:label="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_638760207540292958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain_638760207540282957" xlink:to="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_638760207540292958" order="2" use="optional" 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_AccumulatedTranslationAdjustmentMember" xlink:label="us-gaap_AccumulatedTranslationAdjustmentMember_638760207540292958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain_638760207540282957" xlink:to="us-gaap_AccumulatedTranslationAdjustmentMember_638760207540292958" order="3" use="optional" 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_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_638760207540292958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain_638760207540282957" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_638760207540292958" order="4" use="optional" 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_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_638760207540292958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_638760207540282957" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_638760207540292958" order="2" use="optional" 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_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638760207540292958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_638760207540292958" xlink:to="us-gaap_StockholdersEquity_638760207540292958" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_638760207540292958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_638760207540292958" xlink:to="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_638760207540292958" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="7" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:label="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_638760207540292958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_638760207540292958" xlink:to="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_638760207540292958" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax_638760207540292958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_638760207540292958" xlink:to="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax_638760207540292958" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <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_6387602075402929581" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_638760207540292958" xlink:to="us-gaap_StockholdersEquity_6387602075402929581" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="4" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails" xlink:type="extended" xlink:title="99941401 - Disclosure - Segment reporting and concentrations (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-gaap_SegmentReportingAbstract_489" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638760207540302955" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_489" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638760207540302955" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/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_638760207540302955" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638760207540302955" xlink:to="us-gaap_StatementBusinessSegmentsAxis_638760207540302955" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638760207540302955" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_638760207540302955" xlink:to="us-gaap_SegmentDomain_638760207540302955" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_DdsMember" xlink:label="inod_DdsMember_638760207540302955" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638760207540302955" xlink:to="inod_DdsMember_638760207540302955" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_SynodexMember" xlink:label="inod_SynodexMember_638760207540302955" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638760207540302955" xlink:to="inod_SynodexMember_638760207540302955" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_AgilityMember" xlink:label="inod_AgilityMember_638760207540302955" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638760207540302955" xlink:to="inod_AgilityMember_638760207540302955" order="3" use="optional" 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_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems_638760207540302955" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638760207540302955" xlink:to="us-gaap_SegmentReportingInformationLineItems_638760207540302955" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <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_638760207540312958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638760207540302955" xlink:to="us-gaap_Assets_638760207540312958" order="1" use="optional" 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_Goodwill" xlink:label="us-gaap_Goodwill_638760207540312958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638760207540302955" xlink:to="us-gaap_Goodwill_638760207540312958" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails" xlink:type="extended" xlink:title="99941402 - Disclosure - Segment reporting and concentrations-significant income statement (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="us-gaap_SegmentReportingAbstract_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638760207540312958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract_1" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638760207540312958" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/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_638760207540312958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638760207540312958" xlink:to="us-gaap_StatementBusinessSegmentsAxis_638760207540312958" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638760207540312958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_638760207540312958" xlink:to="us-gaap_SegmentDomain_638760207540312958" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_DdsMember" xlink:label="inod_DdsMember_638760207540312958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638760207540312958" xlink:to="inod_DdsMember_638760207540312958" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_SynodexMember" xlink:label="inod_SynodexMember_638760207540312958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638760207540312958" xlink:to="inod_SynodexMember_638760207540312958" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_AgilityMember" xlink:label="inod_AgilityMember_638760207540322959" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638760207540312958" xlink:to="inod_AgilityMember_638760207540322959" order="3" use="optional" 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_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems_638760207540322959" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638760207540312958" xlink:to="us-gaap_SegmentReportingInformationLineItems_638760207540322959" order="2" use="optional" 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_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638760207540322959" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638760207540322959" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638760207540322959" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DirectOperatingCosts" xlink:label="us-gaap_DirectOperatingCosts_638760207540322959" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638760207540322959" xlink:to="us-gaap_DirectOperatingCosts_638760207540322959" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="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="us-gaap_GrossProfit_638760207540322959" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638760207540322959" xlink:to="us-gaap_GrossProfit_638760207540322959" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_638760207540322959" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638760207540322959" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_638760207540322959" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="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="us-gaap_OperatingIncomeLoss_638760207540322959" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638760207540322959" xlink:to="us-gaap_OperatingIncomeLoss_638760207540322959" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet_638760207540322959" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638760207540322959" xlink:to="us-gaap_InterestIncomeExpenseNonoperatingNet_638760207540322959" order="6" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="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="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638760207540322959" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638760207540322959" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638760207540322959" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails" xlink:type="extended" xlink:title="99941403 - Disclosure - Segment reporting and concentrations - Long-lived assets (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="us-gaap_SegmentReportingAbstract" />
    <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_638760207540332954" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_638760207540332954" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis_638760207540332954" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_638760207540332954" xlink:to="srt_StatementGeographicalAxis_638760207540332954" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638760207540332954" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis_638760207540332954" xlink:to="srt_SegmentGeographicalDomain_638760207540332954" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US_638760207540332954" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638760207540332954" xlink:to="country_US_638760207540332954" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_CA" xlink:label="country_CA_638760207540332954" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638760207540332954" xlink:to="country_CA_638760207540332954" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_GB" xlink:label="country_GB_638760207540332954" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638760207540332954" xlink:to="country_GB_638760207540332954" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_PH" xlink:label="country_PH_638760207540342959" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638760207540332954" xlink:to="country_PH_638760207540342959" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_IN" xlink:label="country_IN_638760207540342959" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638760207540332954" xlink:to="country_IN_638760207540342959" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_LK" xlink:label="country_LK_638760207540342959" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638760207540332954" xlink:to="country_LK_638760207540342959" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd#stpr_IL" xlink:label="stpr_IL_638760207540342959" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638760207540332954" xlink:to="stpr_IL_638760207540342959" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_DE" xlink:label="country_DE_638760207540342959" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638760207540332954" xlink:to="country_DE_638760207540342959" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ForeignCountriesMember" xlink:label="inod_ForeignCountriesMember_638760207540342959" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638760207540332954" xlink:to="inod_ForeignCountriesMember_638760207540342959" order="9" use="optional" 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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_638760207540342959" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_638760207540332954" xlink:to="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_638760207540342959" order="2" use="optional" 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_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets_638760207540342959" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_638760207540342959" xlink:to="us-gaap_NoncurrentAssets_638760207540342959" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails" xlink:type="extended" xlink:title="99941404 - Disclosure - Segment reporting and concentrations - Revenues by geographic region (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="us-gaap_SegmentReportingAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638760207540352957" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638760207540352957" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis_638760207540352957" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638760207540352957" xlink:to="srt_StatementGeographicalAxis_638760207540352957" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638760207540352957" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis_638760207540352957" xlink:to="srt_SegmentGeographicalDomain_638760207540352957" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US_638760207540352957" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638760207540352957" xlink:to="country_US_638760207540352957" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_GB" xlink:label="country_GB_638760207540352957" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638760207540352957" xlink:to="country_GB_638760207540352957" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_CA" xlink:label="country_CA_638760207540352957" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638760207540352957" xlink:to="country_CA_638760207540352957" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_NL" xlink:label="country_NL_638760207540352957" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638760207540352957" xlink:to="country_NL_638760207540352957" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_OtherPrincipallyEuropeMember" xlink:label="inod_OtherPrincipallyEuropeMember_638760207540362959" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638760207540352957" xlink:to="inod_OtherPrincipallyEuropeMember_638760207540362959" order="5" use="optional" 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_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems_638760207540362959" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638760207540352957" xlink:to="us-gaap_SegmentReportingInformationLineItems_638760207540362959" order="2" use="optional" 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_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638760207540362959" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638760207540362959" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638760207540362959" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails" xlink:type="extended" xlink:title="99941405 - Disclosure - Segment reporting and concentrations - Additional information (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-gaap_SegmentReportingAbstract_541" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638760207540362959" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_541" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638760207540362959" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis_638760207540362959" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638760207540362959" xlink:to="srt_MajorCustomersAxis_638760207540362959" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_638760207540362959" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis_638760207540362959" xlink:to="srt_NameOfMajorCustomerDomain_638760207540362959" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ForeignCustomerMember" xlink:label="inod_ForeignCustomerMember_638760207540362959" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638760207540362959" xlink:to="inod_ForeignCustomerMember_638760207540362959" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_OneClientMember" xlink:label="inod_OneClientMember_638760207540372958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638760207540362959" xlink:to="inod_OneClientMember_638760207540372958" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_TwoClientMember" xlink:label="inod_TwoClientMember_638760207540372958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638760207540362959" xlink:to="inod_TwoClientMember_638760207540372958" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ThreeClientsMember" xlink:label="inod_ThreeClientsMember_638760207540372958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638760207540362959" xlink:to="inod_ThreeClientsMember_638760207540372958" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ClientMember" xlink:label="inod_ClientMember_638760207540372958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638760207540362959" xlink:to="inod_ClientMember_638760207540372958" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638760207540372958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638760207540362959" xlink:to="srt_RangeAxis_638760207540372958" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638760207540372958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638760207540372958" xlink:to="srt_RangeMember_638760207540372958" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638760207540372958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638760207540372958" xlink:to="srt_MinimumMember_638760207540372958" order="1" use="optional" 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_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_638760207540372958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638760207540362959" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_638760207540372958" order="3" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_638760207540372958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis_638760207540372958" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_638760207540372958" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember_638760207540382958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638760207540372958" xlink:to="us-gaap_SalesRevenueNetMember_638760207540382958" order="1" use="optional" 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_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember_638760207540382958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638760207540372958" xlink:to="us-gaap_AccountsReceivableMember_638760207540382958" order="2" use="optional" 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_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_638760207540382958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638760207540362959" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_638760207540382958" order="4" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain_638760207540382958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis_638760207540382958" xlink:to="us-gaap_ConcentrationRiskTypeDomain_638760207540382958" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember_638760207540382958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTypeDomain_638760207540382958" xlink:to="us-gaap_CustomerConcentrationRiskMember_638760207540382958" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis_638760207540382958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638760207540362959" xlink:to="srt_StatementGeographicalAxis_638760207540382958" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638760207540382958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis_638760207540382958" xlink:to="srt_SegmentGeographicalDomain_638760207540382958" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US_638760207540382958" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638760207540382958" xlink:to="country_US_638760207540382958" order="1" use="optional" 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_NonUsMember" xlink:label="us-gaap_NonUsMember_638760207540392957" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638760207540382958" xlink:to="us-gaap_NonUsMember_638760207540392957" order="2" use="optional" 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_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems_638760207540392957" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638760207540362959" xlink:to="us-gaap_SegmentReportingInformationLineItems_638760207540392957" order="6" use="optional" 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_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments_638760207540392957" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638760207540392957" xlink:to="us-gaap_NumberOfReportableSegments_638760207540392957" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <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_638760207540392957" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638760207540392957" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_638760207540392957" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_NumberOfClient" xlink:label="inod_NumberOfClient_638760207540392957" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638760207540392957" xlink:to="inod_NumberOfClient_638760207540392957" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1_638760207540392957" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638760207540392957" xlink:to="us-gaap_ConcentrationRiskPercentage1_638760207540392957" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareDetails" xlink:type="extended" xlink:title="99941501 - Disclosure - Income (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-gaap_EarningsPerShareAbstract_563" />
    <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_638760207540402959" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_563" xlink:to="us-gaap_NetIncomeLoss_638760207540402959" order="1" use="optional" 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_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638760207540402959" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_563" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638760207540402959" order="2" use="optional" 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_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_638760207540402959" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_563" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_638760207540402959" order="3" use="optional" 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="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638760207540402959" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_563" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638760207540402959" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareAdditionalInformationDetails" xlink:type="extended" xlink:title="99941502 - Disclosure - Income (loss) per Share - Additional information (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-gaap_EarningsPerShareAbstract_573" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:label="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable_638760207540412965" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_573" xlink:to="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable_638760207540412965" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_638760207540412965" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable_638760207540412965" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_638760207540412965" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_638760207540412965" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_638760207540412965" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_638760207540412965" order="1" use="optional" />
    <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_638760207540412965" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain_638760207540412965" xlink:to="us-gaap_EmployeeStockOptionMember_638760207540412965" order="1" use="optional" 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_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_638760207540412965" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable_638760207540412965" xlink:to="us-gaap_AwardTypeAxis_638760207540412965" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207540412965" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638760207540412965" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207540412965" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_638760207540412965" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207540412965" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_638760207540412965" order="1" use="optional" 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_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember_6387602075404129651" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638760207540412965" xlink:to="us-gaap_EmployeeStockOptionMember_6387602075404129651" order="2" use="optional" 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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638760207540412965" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable_638760207540412965" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638760207540412965" order="3" use="optional" 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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_638760207540412965" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638760207540412965" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_638760207540412965" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_638760207540422961" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638760207540412965" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_638760207540422961" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_638760207540422961" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638760207540412965" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_638760207540422961" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDerivativesAdditionalInformationDetails" xlink:type="extended" xlink:title="99941601 - Disclosure - Derivatives - Additional Information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_637048505955530144" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeNotionalAmount" xlink:label="us-gaap_DerivativeNotionalAmount_638760207540422961" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_637048505955530144" xlink:to="us-gaap_DerivativeNotionalAmount_638760207540422961" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails" xlink:type="extended" xlink:title="99941602 - Disclosure - Derivatives - Fair value of derivative instruments (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_637048505955495109" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638760207540422961" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_637048505955495109" xlink:to="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638760207540422961" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis_638760207540432964" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638760207540422961" xlink:to="us-gaap_BalanceSheetLocationAxis_638760207540432964" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_638760207540432964" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis_638760207540432964" xlink:to="us-gaap_BalanceSheetLocationDomain_638760207540432964" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesMember" xlink:label="us-gaap_AccruedLiabilitiesMember_638760207540432964" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_638760207540432964" xlink:to="us-gaap_AccruedLiabilitiesMember_638760207540432964" order="1" use="optional" 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_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:label="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_638760207540432964" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_638760207540432964" xlink:to="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_638760207540432964" order="2" use="optional" 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_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_638760207540432964" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638760207540422961" xlink:to="us-gaap_DerivativeInstrumentRiskAxis_638760207540432964" order="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_638760207540432964" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis_638760207540432964" xlink:to="us-gaap_DerivativeContractTypeDomain_638760207540432964" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignExchangeForwardMember" xlink:label="us-gaap_ForeignExchangeForwardMember_638760207540432964" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_638760207540432964" xlink:to="us-gaap_ForeignExchangeForwardMember_638760207540432964" order="1" use="optional" 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_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis_638760207540432964" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638760207540422961" xlink:to="us-gaap_HedgingDesignationAxis_638760207540432964" order="3" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain_638760207540432964" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingDesignationAxis_638760207540432964" xlink:to="us-gaap_HedgingDesignationDomain_638760207540432964" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember_638760207540442960" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingDesignationDomain_638760207540432964" xlink:to="us-gaap_DesignatedAsHedgingInstrumentMember_638760207540442960" order="1" use="optional" 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_DerivativesFairValueLineItems" xlink:label="us-gaap_DerivativesFairValueLineItems_638760207540442960" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638760207540422961" xlink:to="us-gaap_DerivativesFairValueLineItems_638760207540442960" order="4" use="optional" 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_DerivativeInstrumentsAndHedgesLiabilities" xlink:label="us-gaap_DerivativeInstrumentsAndHedgesLiabilities_638760207540442960" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativesFairValueLineItems_638760207540442960" xlink:to="us-gaap_DerivativeInstrumentsAndHedgesLiabilities_638760207540442960" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDerivativesContractsDesignatedAsCashFlowHedgesDetails" xlink:type="extended" xlink:title="99941603 - Disclosure - Derivatives - Contracts designated as cash flow hedges (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_595" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax_638760207540442960" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_595" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax_638760207540442960" order="1" use="optional" 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_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax_638760207540442960" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_595" xlink:to="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax_638760207540442960" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails" xlink:type="extended" xlink:title="99941701 - Disclosure - Line Of Credit (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAbstract" xlink:label="us-gaap_LineOfCreditFacilityAbstract_1" />
    <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_638760207540452962" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAbstract_1" xlink:to="us-gaap_LineOfCreditFacilityTable_638760207540452962" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis_638760207540452962" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityTable_638760207540452962" xlink:to="us-gaap_CreditFacilityAxis_638760207540452962" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain_638760207540452962" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis_638760207540452962" xlink:to="us-gaap_CreditFacilityDomain_638760207540452962" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember_638760207540452962" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638760207540452962" xlink:to="us-gaap_RevolvingCreditFacilityMember_638760207540452962" order="1" use="optional" 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_LineOfCreditFacilityLineItems" xlink:label="us-gaap_LineOfCreditFacilityLineItems_638760207540452962" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityTable_638760207540452962" xlink:to="us-gaap_LineOfCreditFacilityLineItems_638760207540452962" order="2" use="optional" 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_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638760207540452962" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638760207540452962" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638760207540452962" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender" xlink:label="inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender_638760207540452962" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638760207540452962" xlink:to="inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender_638760207540452962" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase_638760207540452962" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638760207540452962" xlink:to="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase_638760207540452962" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_638760207540452962" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638760207540452962" xlink:to="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_638760207540452962" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase_638760207540462963" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638760207540452962" xlink:to="inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase_638760207540462963" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_638760207540462963" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638760207540452962" xlink:to="inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_638760207540462963" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase_638760207540462963" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638760207540452962" xlink:to="inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase_638760207540462963" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_638760207540462963" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638760207540452962" xlink:to="inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_638760207540462963" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_638760207540462963" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638760207540452962" xlink:to="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_638760207540462963" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20241231.xsd#inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" xlink:label="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio_638760207540462963" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638760207540452962" xlink:to="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio_638760207540462963" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_638760207540462963" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638760207540452962" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_638760207540462963" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" xlink:label="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration_638760207540462963" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_638760207540462963" xlink:to="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration_638760207540462963" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:type="extended" xlink:title="995445 - Disclosure - Insider Trading Arrangements" />
  <link:presentationLink xlink:role="http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure" xlink:type="extended" xlink:title="995550 - Disclosure - Cybersecurity Risk Management and Strategy Disclosure" />
</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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491672332784">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Document and Entity Information - USD ($)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Feb. 17, 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>Document and Entity Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-K<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentAnnualReport', window );">Document Annual Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-35774<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">INNODATA&#160;INC<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">DE<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">13-3475943<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">55 Challenger Road<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Ridgefield Park<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_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">NJ<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">07660<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">201<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">371-8000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">INOD<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">NASDAQ<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">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityVoluntaryFilers', window );">Entity Voluntary Filers</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Non-accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFinStmtErrorCorrectionFlag', window );">Document Financial Statement Error Correction [Flag]</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 400,569,838<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">31,299,728<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">0000903651<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorName', window );">Auditor Name</a></td>
<td class="text">BDO India LLP<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorFirmId', window );">Auditor Firm ID</a></td>
<td class="text">6074<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">Mumbai<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_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_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_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_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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491670033584">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS - USD ($)<br> $ in Thousands</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 assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 46,883<span></span>
</td>
<td class="nump">$ 13,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_OtherShortTermInvestments', window );">Short term investments - other</a></td>
<td class="nump">14<span></span>
</td>
<td class="nump">14<span></span>
</td>
</tr>
<tr class="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 of allowance for credit losses</a></td>
<td class="nump">28,013<span></span>
</td>
<td class="nump">14,288<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">6,090<span></span>
</td>
<td class="nump">3,969<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">81,000<span></span>
</td>
<td class="nump">32,077<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">4,101<span></span>
</td>
<td class="nump">2,281<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Right-of-use-asset, net</a></td>
<td class="nump">4,238<span></span>
</td>
<td class="nump">5,054<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="nump">1,267<span></span>
</td>
<td class="nump">2,445<span></span>
</td>
</tr>
<tr class="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 income taxes, net</a></td>
<td class="nump">7,492<span></span>
</td>
<td class="nump">1,741<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangibles, net</a></td>
<td class="nump">13,353<span></span>
</td>
<td class="nump">13,758<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">1,998<span></span>
</td>
<td class="nump">2,075<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">113,449<span></span>
</td>
<td class="nump">59,431<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">4,554<span></span>
</td>
<td class="nump">2,662<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued expenses</a></td>
<td class="nump">4,891<span></span>
</td>
<td class="nump">3,060<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrent', window );">Accrued salaries, wages and related benefits</a></td>
<td class="nump">13,836<span></span>
</td>
<td class="nump">7,799<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenues</a></td>
<td class="nump">8,010<span></span>
</td>
<td class="nump">3,523<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxesPayableCurrent', window );">Income and other taxes</a></td>
<td class="nump">5,695<span></span>
</td>
<td class="nump">3,848<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_inod_CurrentPortionOfLongTermObligations', window );">Long-term obligations - current portion</a></td>
<td class="nump">1,643<span></span>
</td>
<td class="nump">1,261<span></span>
</td>
</tr>
<tr class="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 );">Operating lease liability - current portion</a></td>
<td class="nump">877<span></span>
</td>
<td class="nump">782<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">39,506<span></span>
</td>
<td class="nump">22,935<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred income taxes, net</a></td>
<td class="nump">32<span></span>
</td>
<td class="nump">22<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_inod_NoncurrentPortionOfLongTermObligations', window );">Long-term obligations, net of current portion</a></td>
<td class="nump">6,744<span></span>
</td>
<td class="nump">6,778<span></span>
</td>
</tr>
<tr class="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 );">Operating lease liability, net of current portion</a></td>
<td class="nump">3,778<span></span>
</td>
<td class="nump">4,701<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">50,060<span></span>
</td>
<td class="nump">34,436<span></span>
</td>
</tr>
<tr class="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</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_RedeemableNoncontrollingInterestEquityCarryingAmount', window );">Non-controlling interests</a></td>
<td class="num">(83)<span></span>
</td>
<td class="num">(708)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>STOCKHOLDERS' EQUITY:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Serial preferred stock; 4,998,000 shares authorized, none issued and outstanding</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, $.01 par value; 75,000,000 shares authorized; 34,484,000 shares issued and 31,300,000 outstanding at December 31, 2024 and 31,937,000 shares issued and 28,753,000 outstanding at December 31, 2023</a></td>
<td class="nump">345<span></span>
</td>
<td class="nump">320<span></span>
</td>
</tr>
<tr class="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 );">Additional paid-in capital</a></td>
<td class="nump">53,085<span></span>
</td>
<td class="nump">43,152<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings (deficit)</a></td>
<td class="nump">18,977<span></span>
</td>
<td class="num">(9,683)<span></span>
</td>
</tr>
<tr class="ro">
<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">(2,470)<span></span>
</td>
<td class="num">(1,621)<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_StockholdersEquityBeforeTreasuryStock', window );">Stockholders' Equity before Treasury Stock, Total</a></td>
<td class="nump">69,937<span></span>
</td>
<td class="nump">32,168<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Less: treasury stock, 3,184,000 shares at December 31, 2024 and 2023, at cost</a></td>
<td class="num">(6,465)<span></span>
</td>
<td class="num">(6,465)<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' equity</a></td>
<td class="nump">63,472<span></span>
</td>
<td class="nump">25,703<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, non-controlling interests and stockholders' equity</a></td>
<td class="nump">$ 113,449<span></span>
</td>
<td class="nump">$ 59,431<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_CurrentPortionOfLongTermObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 portion of long-term obligations of the 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;">inod_CurrentPortionOfLongTermObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_inod_NoncurrentPortionOfLongTermObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The non-current portion of long-term obligations of the 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;">inod_NoncurrentPortionOfLongTermObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_EmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. 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_EmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_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_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherShortTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of short-term investments classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(1)(g))<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 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><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_OtherShortTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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/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)(21))<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_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478451/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>As of the reporting date, the aggregate carrying amount of all noncontrolling interests which are redeemable by the (parent) entity (1) at a fixed or determinable price on a fixed or determinable date, (2) at the option of the holder of the noncontrolling interest, or (3) upon occurrence of an event that is not solely within the control of the (parent) entity. This item includes noncontrolling interest holder's ownership (or holders' ownership) regardless of the type of equity interest (common, preferred, other) including all potential organizational (legal) forms of the investee 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> -Topic 480<br> -SubTopic 10<br> -Subparagraph (12)(c)<br> -Section S99<br> -Paragraph 3A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480244/480-10-S99-3A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Subparagraph (16)(c)<br> -Paragraph 3A<br> -Section S99<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480244/480-10-S99-3A<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3A<br> -Subparagraph (15)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480244/480-10-S99-3A<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3A<br> -Subparagraph (14)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480244/480-10-S99-3A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_StockholdersEquityBeforeTreasuryStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of stockholders' equity (deficit) items including stock value, paid in capital, retained earnings and including equity attributable to noncontrolling interests and before deducting the carrying value of treasury stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityBeforeTreasuryStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481520/505-30-50-4<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491677751360">
<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>CONSOLIDATED BALANCE SHEETS</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_PreferredStockSharesAuthorized', window );">Serial preferred stock, shares authorized</a></td>
<td class="nump">4,998,000<span></span>
</td>
<td class="nump">4,998,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_PreferredStockSharesOutstanding', window );">Serial preferred stock, outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.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_CommonStockSharesAuthorized', window );">Common stock, shares authorized</a></td>
<td class="nump">75,000,000<span></span>
</td>
<td class="nump">75,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="nump">34,484,000<span></span>
</td>
<td class="nump">31,937,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_CommonStockSharesOutstanding', window );">Common stock, shares outstanding</a></td>
<td class="nump">31,300,000<span></span>
</td>
<td class="nump">28,753,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_TreasuryStockCommonShares', window );">Treasury stock, shares</a></td>
<td class="nump">3,184,000<span></span>
</td>
<td class="nump">3,184,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_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_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_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_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfFinancialPositionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockCommonShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491669449632">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (LOSS) - USD ($)<br> shares in Thousands, $ in Thousands</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>CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (LOSS)</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 );">Revenues</a></td>
<td class="nump">$ 170,461<span></span>
</td>
<td class="nump">$ 86,775<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostsAndExpensesAbstract', window );"><strong>Operating costs and 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_DirectOperatingCosts', window );">Direct operating costs</a></td>
<td class="nump">103,387<span></span>
</td>
<td class="nump">55,482<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling and administrative expenses</a></td>
<td class="nump">42,738<span></span>
</td>
<td class="nump">30,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_InterestIncomeExpenseNonoperatingNet', window );">Interest (income) expense, net</a></td>
<td class="num">(149)<span></span>
</td>
<td class="nump">179<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_CostsAndExpenses', window );">Total</a></td>
<td class="nump">145,976<span></span>
</td>
<td class="nump">86,636<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before provision for income taxes</a></td>
<td class="nump">24,485<span></span>
</td>
<td class="nump">139<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision for income taxes</a></td>
<td class="num">(4,190)<span></span>
</td>
<td class="nump">1,028<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_ProfitLoss', window );">Consolidated net income (loss)</a></td>
<td class="nump">28,675<span></span>
</td>
<td class="num">(889)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest', window );">Income attributable to non-controlling interests</a></td>
<td class="nump">15<span></span>
</td>
<td class="nump">19<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income (loss) attributable to Innodata Inc. and Subsidiaries</a></td>
<td class="nump">$ 28,660<span></span>
</td>
<td class="num">$ (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_EarningsPerShareAbstract', window );"><strong>Income (loss) per share attributable to Innodata Inc. and Subsidiaries:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="nump">$ 0.98<span></span>
</td>
<td class="num">$ (0.03)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted (in dollars per share)</a></td>
<td class="nump">$ 0.89<span></span>
</td>
<td class="num">$ (0.03)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Weighted average shares outstanding:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (in shares)</a></td>
<td class="nump">29,163<span></span>
</td>
<td class="nump">28,131<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted (in shares)</a></td>
<td class="nump">32,177<span></span>
</td>
<td class="nump">28,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_ComprehensiveIncomeNetOfTaxAbstract', window );"><strong>Comprehensive income (loss):</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 );">Consolidated net income (loss)</a></td>
<td class="nump">$ 28,675<span></span>
</td>
<td class="num">$ (889)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax', window );">Pension liability adjustment, net of taxes</a></td>
<td class="nump">179<span></span>
</td>
<td class="num">(326)<span></span>
</td>
</tr>
<tr class="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 );">Foreign currency translation adjustment</a></td>
<td class="num">(592)<span></span>
</td>
<td class="nump">407<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax', window );">Change in fair value of derivatives, net of taxes</a></td>
<td class="num">(436)<span></span>
</td>
<td class="nump">406<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_OtherComprehensiveIncomeLossNetOfTax', window );">Other comprehensive income (loss)</a></td>
<td class="num">(849)<span></span>
</td>
<td class="nump">487<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 (loss)</a></td>
<td class="nump">27,826<span></span>
</td>
<td class="num">(402)<span></span>
</td>
</tr>
<tr class="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 attributed to non-controlling interest</a></td>
<td class="nump">15<span></span>
</td>
<td class="nump">19<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 (loss) attributable to Innodata Inc. and Subsidiaries</a></td>
<td class="nump">$ 27,811<span></span>
</td>
<td class="num">$ (421)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTaxAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_CostsAndExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 costs of sales and operating expenses for 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)<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_CostsAndExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CostsAndExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostsAndExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DirectOperatingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 direct operating costs incurred 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DirectOperatingCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482659/740-20-45-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestIncomeExpenseNonoperatingNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 (expense) classified as nonoperating.</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)<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 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestIncomeExpenseNonoperatingNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.</p></div>
<a href="javascript: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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_OtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 3: 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 4: 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 5: 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><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-4<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<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 8: 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> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<br><br>Reference 9: 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(21))<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 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 11: 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 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482739/220-10-55-15<br><br>Reference 13: 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-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_OtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 adjustment, of (increase) decrease in accumulated other comprehensive income for defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (j)<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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (k)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br><br>Reference 3: 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 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br><br>Reference 5: 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_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491673020992">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th"><div>Additional Paid-in Capital</div></th>
<th class="th"><div>Retained Earnings</div></th>
<th class="th"><div>Accumulated Other Comprehensive Loss</div></th>
<th class="th"><div>Treasury Stock</div></th>
<th class="th"><div>Total</div></th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at the beginning at Dec. 31, 2022</a></td>
<td class="nump">$ 306<span></span>
</td>
<td class="nump">$ 35,815<span></span>
</td>
<td class="num">$ (8,775)<span></span>
</td>
<td class="num">$ (2,108)<span></span>
</td>
<td class="num">$ (6,465)<span></span>
</td>
<td class="nump">$ 18,773<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_TreasuryStockCommonShares', window );">Balance at the beginning (in shares) at Dec. 31, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,184,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance at the beginning (in shares) at Dec. 31, 2022</a></td>
<td class="nump">30,589,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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(908)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,027<span></span>
</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">4,027<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Stock option exercises</a></td>
<td class="nump">$ 14<span></span>
</td>
<td class="nump">3,310<span></span>
</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,324<span></span>
</td>
</tr>
<tr class="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 option exercises (in shares)</a></td>
<td class="nump">1,351,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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Shares withheld for exercise net settlement (in shares)</a></td>
<td class="num">(3,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax', window );">Pension liability adjustment, net of taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(326)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(326)<span></span>
</td>
</tr>
<tr class="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 );">Foreign currency translation adjustment</a></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">407<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">407<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax', window );">Change in fair value of derivatives, net of taxes</a></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">406<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">406<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at the end at Dec. 31, 2023</a></td>
<td class="nump">$ 320<span></span>
</td>
<td class="nump">43,152<span></span>
</td>
<td class="num">(9,683)<span></span>
</td>
<td class="num">(1,621)<span></span>
</td>
<td class="num">$ (6,465)<span></span>
</td>
<td class="nump">$ 25,703<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_TreasuryStockCommonShares', window );">Balance at the end (in shares) at Dec. 31, 2023</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,184,000)<span></span>
</td>
<td class="nump">3,184,000<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 at the end (in shares) at Dec. 31, 2023</a></td>
<td class="nump">31,937,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">28,660<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 28,660<span></span>
</td>
</tr>
<tr class="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">&#160;<span></span>
</td>
<td class="nump">3,998<span></span>
</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,998<span></span>
</td>
</tr>
<tr class="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 );">Stock option exercises</a></td>
<td class="nump">$ 25<span></span>
</td>
<td class="nump">6,643<span></span>
</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">$ 6,668<span></span>
</td>
</tr>
<tr class="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 option exercises (in shares)</a></td>
<td class="nump">2,506,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="nump">2,506,232<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures', window );">Restricted stock units vested (in shares)</a></td>
<td class="nump">41,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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Shares withheld for exercise net settlement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (97)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings', window );">Shares withheld for restricted stock unit net settlement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(97)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_AdjustmentsToAdditionalPaidInCapitalOther', window );">Redemption of non-controlling interest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(611)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(611)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax', window );">Pension liability adjustment, net of taxes</a></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">179<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">179<span></span>
</td>
</tr>
<tr class="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 );">Foreign currency translation adjustment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(592)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(592)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax', window );">Change in fair value of derivatives, net of taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(436)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(436)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at the end at Dec. 31, 2024</a></td>
<td class="nump">$ 345<span></span>
</td>
<td class="nump">$ 53,085<span></span>
</td>
<td class="nump">$ 18,977<span></span>
</td>
<td class="num">$ (2,470)<span></span>
</td>
<td class="num">$ (6,465)<span></span>
</td>
<td class="nump">$ 63,472<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_TreasuryStockCommonShares', window );">Balance at the end (in shares) at Dec. 31, 2024</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,184,000)<span></span>
</td>
<td class="nump">3,184,000<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 at the end (in shares) at Dec. 31, 2024</a></td>
<td class="nump">34,484,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>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AdjustmentsToAdditionalPaidInCapitalOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 increase (decrease) in additional paid in capital (APIC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_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_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.</p></div>
<a href="javascript: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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 adjustment, of (increase) decrease in accumulated other comprehensive income for defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (j)<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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (k)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br><br>Reference 3: 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 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br><br>Reference 5: 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_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RestrictedStockValueSharesIssuedNetOfTaxWithholdings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value, after value of shares used to satisfy grantee's tax withholding obligation for award under share-based payment arrangement, of restricted shares issued. Excludes cash used to satisfy grantee's tax withholding obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_SharesPaidForTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 used to settle grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-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_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued during the period related to Restricted Stock Awards, net of any shares forfeited.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures</td>
</tr>
<tr>
<td style="padding-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_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued as a result of the exercise of stock options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockCommonShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491669726128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)<br> $ in Thousands</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>Cash flows from operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Consolidated net income (loss)</a></td>
<td class="nump">$ 28,675<span></span>
</td>
<td class="num">$ (889)<span></span>
</td>
</tr>
<tr class="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 consolidated net income (loss) to net cash provided by operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">5,796<span></span>
</td>
<td class="nump">4,716<span></span>
</td>
</tr>
<tr class="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">3,998<span></span>
</td>
<td class="nump">4,027<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxesAndTaxCredits', window );">Deferred income taxes</a></td>
<td class="num">(5,609)<span></span>
</td>
<td class="num">(276)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProvisionForLoanLossesExpensed', window );">Provision for credit losses</a></td>
<td class="nump">804<span></span>
</td>
<td class="nump">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_DefinedContributionPlanIncreaseDecreaseCost', window );">Pension cost</a></td>
<td class="nump">1,237<span></span>
</td>
<td class="nump">1,046<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="num">(14,688)<span></span>
</td>
<td class="num">(5,116)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="num">(2,233)<span></span>
</td>
<td class="nump">372<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets', window );">Other assets</a></td>
<td class="nump">1,177<span></span>
</td>
<td class="num">(171)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities', window );">Accounts payable and accrued expenses</a></td>
<td class="nump">3,429<span></span>
</td>
<td class="nump">353<span></span>
</td>
</tr>
<tr class="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 revenues</a></td>
<td class="nump">4,487<span></span>
</td>
<td class="num">(843)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities', window );">Accrued salaries, wages and related benefits</a></td>
<td class="nump">6,063<span></span>
</td>
<td class="nump">1,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_IncreaseDecreaseInAccruedTaxesPayable', window );">Income and other taxes</a></td>
<td class="nump">1,879<span></span>
</td>
<td class="nump">605<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by operating activities</a></td>
<td class="nump">35,015<span></span>
</td>
<td class="nump">5,903<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Capital expenditures</a></td>
<td class="num">(7,741)<span></span>
</td>
<td class="num">(5,564)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForProceedsFromShortTermInvestments', window );">Proceeds from short term investments - others</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">493<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(7,741)<span></span>
</td>
<td class="num">(5,071)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from exercise of stock options</a></td>
<td class="nump">6,668<span></span>
</td>
<td class="nump">3,324<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Withholding taxes on net settlement of restricted stock units</a></td>
<td class="num">(97)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Payment of long-term obligations</a></td>
<td class="num">(513)<span></span>
</td>
<td class="num">(452)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by financing activities</a></td>
<td class="nump">6,058<span></span>
</td>
<td class="nump">2,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_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Effect of exchange rate changes on cash and cash equivalents</a></td>
<td class="num">(255)<span></span>
</td>
<td class="nump">310<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 );">Net increase in cash and cash equivalents</a></td>
<td class="nump">33,077<span></span>
</td>
<td class="nump">4,014<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents, beginning of year</a></td>
<td class="nump">13,806<span></span>
</td>
<td class="nump">9,792<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents, end of year</a></td>
<td class="nump">46,883<span></span>
</td>
<td class="nump">13,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_SupplementalCashFlowInformationAbstract', window );"><strong>Supplemental disclosures of cash flow information:</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_inod_VendorFinancedSoftwareLicensesAcquired', window );">Vendor financed software licenses acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,162<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaid', window );">Cash paid for income taxes</a></td>
<td class="nump">2,418<span></span>
</td>
<td class="nump">753<span></span>
</td>
</tr>
<tr class="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 );">Cash paid for operating leases</a></td>
<td class="nump">1,435<span></span>
</td>
<td class="nump">1,557<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Cash paid for interest</a></td>
<td class="nump">$ 287<span></span>
</td>
<td class="nump">$ 400<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_VendorFinancedSoftwareLicensesAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 non cash vendor financed software licenses acquired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_VendorFinancedSoftwareLicensesAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_DeferredIncomeTaxesAndTaxCredits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) and income tax credits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxesAndTaxCredits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanIncreaseDecreaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 cost for defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanIncreaseDecreaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeTaxesPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 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/2009/role/commonPracticeRef<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/2009/role/commonPracticeRef<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/2009/role/commonPracticeRef<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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-25<br><br>Reference 5: 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_IncomeTaxesPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedTaxesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 of all taxes owed but not paid, including income, property and other taxes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedTaxesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInEmployeeRelatedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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_IncreaseDecreaseInEmployeeRelatedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_IncreaseDecreaseInOtherOperatingAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 operating assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_PaymentsForProceedsFromShortTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net amount paid (received) by the reporting entity through acquisition or sale and maturities of short-term investments with an original maturity that is three months or less which qualify for treatment as an investing activity based on management's intention and intended by management to be liquidated, if necessary, within the current operating cycle. Includes cash flows from securities classified as trading securities that were acquired for reasons other than sale in the short-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/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-12<br><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 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<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 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForProceedsFromShortTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PaymentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 satisfy grantee's tax withholding obligation 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 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_PaymentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -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_ProvisionForLoanLossesExpensed">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of credit loss expense (reversal of expense) 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/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<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(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForLoanLossesExpensed</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://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_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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491677841168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Description of Business and Summary of Significant Accounting Estimates and 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>Description of Business and Summary of Significant Accounting Estimates and Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock', window );">Description of Business and Summary of Significant Accounting Estimates and Policies</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">1. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Description of Business and Summary of Significant Accounting Estimates and Policies </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Description of Business</b> - Innodata Inc. (Nasdaq: INOD) (including its subsidiaries, the &#8220;Company&#8221;, &#8220;Innodata&#8221;, &#8220;we&#8221;, &#8220;us&#8221; or &#8220;our&#8221;) is a leading data engineering company. The Company&#8217;s mission is to help the world&#8217;s most prestigious companies deliver the promise of ethical, high-performing artificial intelligence (&#8220;AI&#8221;), which the Company believes will contribute to a safer and more prosperous world.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company was founded on a simple idea: engineer the highest quality data so organizations across broad industry segments could make smarter decisions. Today, the Company believes it is delivering the highest quality data for some of the world&#8217;s most innovative technology companies to use to train the AI models of the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">AI holds the promise that computers can perceive and understand the world, enabling products and services that would have been previously unimaginable and impossible with traditional coding. AI learns from data, and the highest-performing AI will have learned from the highest-quality data. The Company believes that it can contribute meaningfully by harnessing its capabilities, honed over 35+ years, in collecting and annotating data at scale with consistency and high accuracy.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company is also helping companies deploy and integrate AI into their operations and products and providing innovative AI-enabled industry platforms, helping ensure that its customers&#8217; businesses are prepared for a world in which machines augment human activity in ways previously unimaginable. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company developed its capabilities and honed its approaches progressively over the last 35+ years creating high-quality data for many of the world&#8217;s most demanding information companies. Approximately nine years ago, the Company formed Innodata Labs, a research and development center, to research, develop and apply machine learning and emerging AI to its large-scale, human-intensive data operations. In 2019, the Company began packaging the capabilities that emerged from its R&amp;D efforts in order to align with several fast-growing new markets and help companies use AI/ML to drive performance benefits and business insights.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s historical core competency in high-quality data, combined with these R&amp;D efforts in applied AI, created the foundation for the evolution of the Company&#8217;s offerings, which include AI Data Preparation, AI Model Deployment and Integration, and AI-Enabled Industry Platforms.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">AI Data Preparation</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For several of the world&#8217;s large technology companies, the Company supports their efforts at building generative AI foundation models. For these companies, the Company provides or is poised to provide a range of scaled data solutions and services. The Company&#8217;s scaled data solutions include providing instruction data sets for fine-tuning LLMs to understand prompts, to accept instruction, to converse, to apparently reason, and to perform the myriad of incredible feats that many of us have now experienced. The Company also provides reinforcement learning and reward modeling, services which are critical to provide the guardrails against toxic, bias and harmful responses, and model evaluation services. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For social media companies, financial services companies, and many others, the Company collects or creates training data, annotates training data, and trains AI algorithms for working with images, text, video, audio, code and sensor data. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company utilizes a variety of leading third-party tools, proprietary tools and customer tools. For text annotation, the Company uses its proprietary data annotation platform that incorporates AI to reduce cost while improving consistency and quality of output. The Company&#8217;s proprietary data annotation platform features auto-tagging capabilities that apply to both classical and generative AI tasks. The platform encapsulates many of the innovations the Company has conceived of in the course of its 35-year history of creating high-quality data.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In addition, because collecting real-world data is often impracticable (due to data privacy regulations or rarity of cohorts and outliers), the Company creates high-quality synthetic data that maintains all of the statistical properties of real-world data, using a combination of domain specialists and machine technologies that leverage large language models (LLMs).</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">AI Model Deployment and Integration</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company helps businesses leverage the latest AI technologies to achieve their goals. The Company develops custom AI models (where it selects the appropriate algorithms, tunes hyperparameters, trains and validates the models, and updates the models as required). The Company also helps businesses fine-tune their own custom versions of the Company&#8217;s proprietary models and third-party foundation models to address domain-specific and customer-specific use cases.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For the Company&#8217;s customers that provide products and solutions that require intensive text data processing and analytics, in addition to deploying and integrating AI models, the Company often provides a range of data engineering support services including data transformation, data curation, data hygiene, data consolidation, data extraction, data compliance, and master data management.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s customers span a diverse range of industries and a wide range of AI use cases, benefiting from the short time-to-value and high economic returns of the Company&#8217;s AI solutions and platforms.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">AI-Enabled Industry Platforms</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s AI-enabled industry platforms address specific, niche market requirements the Company believes it can innovate with AI/ML technologies. The Company deploys these industry platforms as software-as-a-service (SaaS) and as managed services. These platforms benefit from the Company&#8217;s technology infrastructure, its industry-specific knowledge, its strong customer relationships and experience merging technology with the business processes of its customers. To date, the Company has built an industry platform for medical records data extraction and transformation (which the Company brands as &#8220;Synodex<sup style="font-size:8.25pt;line-height:100%;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;top:0pt;vertical-align:top;">&#174;</sup>&#8221;) and an industry platform for public relations (which the Company brands as &#8220;Agility PR Solutions&#8221;). The Company is in development with an additional AI-enabled industry platform to serve financial services institutions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s Synodex industry platform transforms medical records into useable digital data organized in accordance with its proprietary data models or customer data models. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s Agility industry platform provides marketing communications and public relations professionals with the ability to target and distribute content to journalists and social media influencers world-wide and to monitor and analyze global news (print, web, radio and TV) and social media.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s operations are presently classified and reported in three reporting segments: Digital Data Solutions (DDS), Synodex and Agility.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;font-weight:bold;">Significant Accounting Policies and Estimates</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Principles of Consolidation </b>-<b style="font-weight:bold;"> </b>The consolidated financial statements include the accounts of Innodata Inc. and its wholly owned subsidiaries, and Innodata docGenix, LLC, a limited liability company that was majority-owned by the Company during the year ended December 31, 2024. The minority interests of Innodata docGenix, LLC were redeemed by the Company on December 31, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The non-controlling interests in the docGenix limited liability company at December 31, 2023 had call and put options that can be settled in cash or stock. Accordingly, this is presented in temporary equity in accordance with Financial Accounting Standards Board (FASB) non-controlling interest guidance. All intercompany transactions and balances have been eliminated in consolidation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Use of Estimates&#160;</b>- In preparing consolidated financial statements in conformity with U.S. GAAP, management is required to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities as of the date of the consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. Management believes that the estimates and assumptions used in the preparation of the consolidated financial statements are reasonable. Actual results could differ from those estimates. Significant estimates include those related to the allowance for credit losses and billing adjustments, useful life of long-lived assets, useful life of intangible assets, impairment of goodwill and intangible assets, valuation of deferred tax assets, valuation of stock-based compensation, pension benefit plan assumptions, litigation accruals and estimated accruals for various tax exposures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Revenue Recognition&#160;</b>- The Company&#8217;s revenue is recognized when services are rendered or goods are delivered to a customer, in an amount that reflects the consideration that the Company expects to receive in exchange for those services or goods as per the agreement with the customer. In cases where there are agreements with multiple performance obligations, the Company identifies each performance obligation and evaluates whether the performance obligations are distinct within the context of the agreement at the agreement&#8217;s inception. Performance obligations that are not distinct at agreement inception are combined. For agreements with distinct performance obligations, the Company allocates the transaction price to each distinct performance obligation proportionately based on the estimated standalone selling price for each performance obligation, if any, and then evaluates how the services are performed for the customer to determine the timing of revenue recognition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For the Digital Data Solutions (DDS) segment, revenue is recognized primarily based on the quantity delivered or resources utilized in the period in which services are performed and performance conditions are satisfied as per the agreement. Revenue from agreements billed on a time-and-materials basis is recognized as services are performed. Revenue from fixed-fee agreements, which is not significant to overall revenues, is recognized based on the proportional performance method of accounting, as services are performed, or milestones are achieved.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For the Synodex segment, revenue is recognized primarily based on the quantity delivered in the period in which services are performed and performance conditions are satisfied as per the agreement. A portion of the Synodex segment revenue is derived from licensing the Company&#8217;s functional software and providing access to the Company&#8217;s hosted software platform. Revenue from such services is recognized monthly when all parties to the agreement have agreed to the agreement; each party&#8217;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; access to the service is provided to the end user; and collection is probable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Agility segment derives its revenue primarily from subscription arrangements and provision of enriched media analysis services. It also derives revenue as a reseller of corporate communication solutions. Revenue from subscriptions is recognized monthly when access to the service is provided to the end user; all parties to the agreement have agreed to the agreement; each party&#8217;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; and collection is probable. Revenue from enriched media analysis services is recognized when the services are performed, and performance conditions are satisfied. Revenue from the reseller agreements is recognized at the gross amount received for the goods in accordance with the Company functioning as a principal due to the Company meeting the following criteria: the Company acts as the primary obligor in the sales transaction; assumes the credit risk; sets the price; can select suppliers; and is involved in the execution of the services, including after sales service.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Revenue associated with the services provided in one period and billed in a subsequent period is commonly referred to as unbilled revenues and is included under Accounts receivable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company considers U.S. GAAP criteria for determining whether to report gross revenue as a principal versus net revenue as an agent. The Company evaluates whether it is in control of the services before the same are transferred to the customer to assess whether it is principal or agent in the arrangement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Contract acquisition costs, which are included in prepaid expenses and other current assets, are amortized over the term of a subscription agreement or contract that normally has a duration of 12 months or less. The Company reviews these prepaid acquisition costs on a periodic basis to determine the need to adjust the carrying values for early terminated contracts. Included in prepaid expenses and other current assets on the accompanying consolidated balance sheets are contract acquisition costs amounting to $1.1 million and $0.8 million for the years ended December 31, 2024 and 2023 , respectively. These acquisition costs relate to our Agility segment and are amortized using the straight-line method over the term of the subscription agreement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Foreign Currency Translation&#160;</b>- The functional currency of the Company&#8217;s subsidiaries in the Philippines, India, Sri Lanka, Israel, Hong Kong, the U.K. and Canada (other than the Agility subsidiaries) is the U.S. dollar. Transactions denominated in Philippine pesos, Indian and Sri Lankan rupees, Israeli shekels, U.K. pound sterling and Canadian dollars are translated to U.S. dollars at rates which approximate those in effect on the transaction dates. Monetary assets and all liabilities denominated in foreign currencies on December 31, 2024 and December 31, 2023 are translated at the exchange rate in effect as of those dates. Non-monetary assets and stockholders&#8217; equity are translated at the appropriate historical rates. Included in direct operating costs were foreign exchange (gains) losses resulting from such translations of approximately ($0.2) million and $0.4 million for the&#160;years ended December 31, 2024 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The functional currency for the Company&#8217;s subsidiary in Germany is the Euro. The functional currencies for the Company&#8217;s Agility subsidiaries in the U.K. and Canada are the Pound Sterling and the Canadian dollar, respectively. The financial statements of these subsidiaries are prepared in their respective currencies. Financial information is translated from the applicable functional currency to the U.S. dollar (the reporting currency) for inclusion in the Company&#8217;s consolidated financial statements. Income, expenses, and cash flows are translated at weighted-average exchange rates prevailing during the fiscal period, and assets and liabilities are translated at fiscal period-end exchange rates. Resulting translation adjustments are included as a component of accumulated other comprehensive income loss in stockholders&#8217; equity. Foreign exchange transaction gains or losses are included in direct operating costs in the accompanying consolidated statements of operations and comprehensive income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:12.0pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Derivative Instruments&#160;- </b>The Company accounts for derivative transactions in accordance with the FASB&#8217;s Accounting Standards Codification (&#8220;ASC&#8221;) Topic 825, &#8220;Financial Instruments&#8221;. For derivative instruments that are designated and qualify as cash flow hedges, the entire change in fair value of the hedging instrument is recorded in Other comprehensive income (loss). When the amounts recorded in Other comprehensive income (loss) are reclassified to earnings, they are included as part of Direct operating costs. For derivative instruments that are not designated as hedges, any change in fair value is recorded directly in earnings as part of Direct operating costs. The total notional value of designated outstanding foreign currency forward contracts was $22.5 million and $10.5 million as of December 31, 2024 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Cash Equivalents&#160;- </b>For financial statement purposes, the Company considers all highly liquid instruments purchased with an original maturity of three&#160;months or less to be cash equivalents.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Short term Investments-other&#160;- </b>For financial statement purposes, the Company considers investments made in time deposits and treasury bills having an original maturity of more than three months but less than one year from the balance sheet date under short term investments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Concentration of Credit Risk&#160;-</b> The Company maintains its cash with highly rated financial institutions, located in the United States and in foreign locations where the Company has its operations. At December 31, 2024, the Company had cash and cash equivalents of $46.9 million, of which $17.9 million was held by its foreign subsidiaries and $29.0 million was held in the United States. To the extent that such cash exceeds the maximum insurance levels, the Company is uninsured. The Company has not experienced any losses in such accounts.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Accounts Receivable&#160;-</b> Accounts receivable is generally recorded at the invoiced amounts, net of an allowance for expected losses. The Company establishes credit terms for new customers based upon management&#8217;s review of their credit information and project terms, and performs ongoing credit evaluations of its customers, adjusting credit terms when management believes appropriate based upon payment history and an assessment of the customer&#8217;s current creditworthiness.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We record an allowance for credit losses for estimated losses resulting from the failure of our customers to make the required payments and provisions for billing adjustments relating to quality issues on delivered services. The allowance for credit losses is based on a review of specifically identified accounts and an overall aging analysis applied to accounts pooled based on similar risk characteristics. Judgments are made with respect to the collectability of accounts receivable within each pool based on historical experience, current payment practices, and current economic trends based on our expectations over the expected life of the receivables, generally ninety days or less. Actual credit losses could differ from those estimates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Property and Equipment</b>&#160;<b style="font-weight:bold;">- </b>Property and equipment are stated at cost and are depreciated on the straight-line method over the estimated useful lives of the related assets, which is generally <span style="-sec-ix-hidden:Hidden_JBYbhKVqzEGL0mHdEk0dxw;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">two</span></span> to <span style="-sec-ix-hidden:Hidden_hPmr4tYES0iTF5TyWe2ahg;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">ten years</span></span>. Leasehold improvements are amortized on a straight-line basis over the shorter of their estimated useful lives or the terms of the leases. Certain assets under capital leases are amortized over the lives of the respective leases or the estimated useful lives of the assets, whichever is shorter.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Capitalized Developed Software - </b>The Company incurs development costs related to software it develops for its internal use. Qualifying costs incurred during the application development stage are capitalized. These costs primarily consist of internal labor and third-party development costs and are amortized using the straight-line method over the estimated useful life of the capitalized developed software, which generally ranges from <span style="-sec-ix-hidden:Hidden_tEUnEellt0mU_k_YoZWk7Q;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">three</span></span> to ten years. All other research and maintenance costs are expensed as incurred. Capitalized developed software in progress as of December 31, 2024 and 2023 were $3.6 million and $3.5 million, respectively. The cumulative completed capitalized developed software as of December 31, 2024 and 2023 was $19.8 million and $15.2 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Long-lived Assets&#160;-</b> Management assesses the recoverability of its long-lived assets, whenever events or changes in circumstances indicate that the carrying value may not be recoverable. The following factors, if present, may trigger an impairment&#160;review: (i)&#160;significant&#160;underperformance relative to expected historical or projected future operating results; (ii)&#160;significant negative industry&#160;or&#160;economic&#160;trends; (iii)&#160;significant decline in the Company&#8217;s stock price&#160;for&#160;a&#160;sustained&#160;period;&#160;and&#160;(iv)&#160;a&#160;change&#160;in the Company&#8217;s market capitalization relative to net book value. If the recoverability of these assets is unlikely because&#160;of&#160;the&#160;existence&#160;of one or more of the above-mentioned factors, an&#160;impairment analysis is performed, using undiscounted cash flow&#160;projections. Management makes assumptions regarding estimated future cash flows and other factors to determine the fair value of these respective assets. An impairment loss will be recognized only if the carrying value of a long-lived asset is not recoverable and exceeds its fair value and is measured as the amount by which the carrying amount of a long-lived asset exceeds its fair value.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Goodwill and Other Intangible Assets</b>&#160;<b style="font-weight:bold;">- </b>The Company performs a valuation of assets acquired and liabilities assumed on each acquisition accounted for as a business combination and allocates the purchase price of each acquired business to its respective net tangible and intangible assets and liabilities. Acquired intangible assets principally consist of technology, customer relationships, backlog and trademarks, having useful lives which range from <span style="-sec-ix-hidden:Hidden_GyFyEVe85kuWxhzAdg74oA;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">ten</span></span> to twelve years. The Company determines the appropriate useful life by performing an analysis of expected cash flows based on projected financial information of the acquired businesses. Intangible assets are amortized over their estimated useful lives using the straight-line method, which approximates the pattern in which the majority of the economic benefits are expected to be consumed. Intangible assets are amortized into direct operating costs ratably over their expected related revenue streams over their useful lives.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Goodwill represents the excess of the cost of an acquired entity over the fair value of the acquired net assets. The Company does not amortize goodwill but evaluates it for impairment at the reporting unit level annually during the third quarter of each fiscal&#160;year (as of September&#160;30 of that year) or when an event occurs, or circumstances change, that indicates the carrying value may not be recoverable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company performed its annual goodwill assessment for the Agility segment as of September 30, 2024 for impairment. The impairment test involves estimating the fair value based on a combination of income (estimates of future discounted cash flows) and the market approach (market multiples for similar companies) using unobservable inputs (Level 3). The Company concluded that there is no impairment of goodwill for the Agility segment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Income Taxes&#160;</b>- Estimated deferred taxes are determined based on the difference between the financial statement and tax basis of assets and liabilities, using enacted tax rates, as well as any net operating loss or tax credit carryforwards expected to reduce taxes payable in future&#160;years. A valuation allowance is provided when it is more likely than not that all or some portion of the estimated deferred tax assets will not be realized. While the Company considers future taxable income in assessing the need for the valuation allowance, in the event that the Company anticipates that it will be able to realize the estimated deferred tax assets in the future in excess of its net recorded amount, an adjustment to the provision for deferred tax assets would increase income in the period such determination was made. Similarly, in the event that the Company anticipates that it will not be able to realize the estimated deferred tax assets in the future considering future taxable income, an adjustment to the provision for deferred tax assets would decrease income in the period such determination was made. Changes in the valuation allowance from period to period are included in the Company&#8217;s tax provision in the period of change. The Company indefinitely reinvests the foreign earnings in its foreign subsidiaries. If such earnings are repatriated in the future, or are no longer deemed to be indefinitely reinvested, the Company would have to accrue as a liability the applicable amount of foreign jurisdiction withholding taxes associated with such remittances.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In assessing the realization of deferred tax assets, management considered whether it is more likely than not that all or some portion of the deferred tax assets of entities in the U.S., Canada, Germany and the U.K. will be realizable or not.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s assessment for the U.S. and the U.K. entities during the year ended December 31, 2024 yielded positive evidence enabling the release of the valuation allowance for the U.S. and the U.K. deferred tax assets under &#8220;ASC Topic 740-10-30-22 &#8211; Accounting for Income Taxes&#8221;.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">As the expectation of future taxable income of the Canadian and German entities cannot be predicted with reasonable accuracy, the Company maintains a valuation allowance against the deferred tax assets of these entities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company accounts for income taxes regarding uncertain tax positions, and recognizes interest and penalties related to uncertain tax positions in income tax expense in the consolidated statements of operations and comprehensive income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Accounting for Leases&#160;</b>-<b style="font-weight:bold;"> </b>Accounting Standards for Codifications (ASC 842 &#8220;Accounting for Leases&#8221;) requires lessees to recognize most leases on their balance sheets as liabilities, with corresponding &#8220;right-of-use&#8221; assets. The Company recognizes a right-of-use asset and corresponding lease liability for all its operating leases. See Note 8, Operating Leases.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The determination of whether an arrangement is, or contains, a lease is based on the substance of the arrangement at the inception date and requires an assessment of whether the fulfillment of the arrangement is dependent on the use of a specific asset or assets, or the arrangement conveys a right to use the asset. A reassessment is made after inception of the lease only if one of the following applies:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">a.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">there is a change in contractual terms, other than a renewal or extension of the arrangement; </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">b.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">a renewal option is exercised, or extension granted, unless the term of the renewal or extension was initially included in the lease term; </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">c.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">there is a change in the determination of whether fulfillment is dependent on a specified asset; or </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">d.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">there is a substantial change to the asset. </span></td></tr></table><div style="margin-top:10pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Whenever a reassessment is made, lease accounting shall commence or cease from the date when the change in circumstances gave rise to the reassessment for scenarios (a), (c) or (d) and at the date of renewal or extension period for scenario (b).</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Leases where the lessor retains substantially all the risks and rewards of ownership are classified as operating leases. As of December 31, 2024, all of the Company&#8217;s leases are classified under operating leases. Operating lease payments are recognized as an operating expense on a straight-line basis over the lease term.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Accounting for Stock-Based Compensation&#160;-</b> The Company measures and recognizes stock-based compensation expense for all share-based payment awards made to employees and directors based on the estimated fair value at the grant date. The stock-based compensation expense is recognized over the requisite service period. The fair value of stock option grants is determined using the Black-Scholes option-pricing model and the fair value of restricted stock units is determined using the Binomial option pricing model. For restricted stock units which are time vested, the fair value is determined based on the grant date fair value.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The stock-based compensation expense related to the Company&#8217;s stock plans were allocated as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:61.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:61.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:35.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year&#160;Ended&#160;December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:61.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:61.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Direct operating costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 281</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 294</p></td></tr><tr><td style="vertical-align:bottom;width:61.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Selling and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,717</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,733</p></td></tr><tr><td style="vertical-align:bottom;width:61.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,998</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,027</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Fair Value of Financial Instruments&#160;</b>- The carrying amounts of financial instruments approximated their fair value as of December 31, 2024 and 2023, because of the relatively short maturity of these instruments. See Note&#160;16, Derivatives.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Fair value measurements and disclosures define fair value as the 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.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The accounting standard establishes a fair value hierarchy that prioritizes the inputs used to measure fair value into three levels. The three levels are defined as follows:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;">Level 1</i><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">: Unadjusted quoted price in active market for identical assets and liabilities.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;">Level 2:</i><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> Inputs other than those included in Level 1 that are observable for the asset or liability, 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></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;">Level 3:</i><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> Unobservable inputs reflecting management&#8217;s own assumptions about the inputs used in pricing the asset or liability.</span></td></tr></table><div style="margin-top:10pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s forward contracts are at level 2 in the fair value hierarchy.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Income (Loss) per Share&#160;</b>- Income (loss) per share is computed using the weighted-average number of common shares outstanding during the&#160;year. Diluted income (loss) per share is computed by considering the impact of the potential issuance of common shares, using the treasury stock method, on the weighted average number of shares outstanding. For those securities that are not convertible into a class of common stock, the &#8220;two class&#8221; method of computing income (loss) per share is used.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Pension&#160;- </b>The Company records annual pension costs based on calculations, which include various actuarial assumptions including discount rates, compensation increases and other assumptions involving demographic factors. The Company reviews its actuarial assumptions on an annual basis and makes modifications to the assumptions based on current rates and trends. The Company believes that the assumptions used in recording its pension obligations are reasonable based on its experience, market conditions and inputs from its actuaries.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Deferred Revenue&#160;</b>- Deferred revenue represents payments received from customers in advance of providing services and amounts deferred if conditions for revenue recognition have not been met. We expect to recognize substantially all of these performance obligations over the next 12 months. The balance of deferred revenues in the consolidated balance sheets amounted to $8.0 million and $3.5 million as of December 31, 2024 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The table below provides information about contract liabilities (deferred revenue) and the significant changes in the balance for the years ended December 31, 2024 and 2023, respectively (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at the beginning of year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,523</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,366</p></td></tr><tr><td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net deferred revenue in the period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,577</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,619</p></td></tr><tr><td style="vertical-align:bottom;width:70.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Revenue recognized</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (22,896)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (22,586)</p></td></tr><tr><td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Currency translations and other adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (194)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 124</p></td></tr><tr><td style="vertical-align:bottom;width:70.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at the end of year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,010</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,523</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Recently Adopted Accounting Pronouncements&#160;- </b>On November 27, 2023, the FASB issued Accounting Standards Update (ASU) No. 2023-07, &#8220;Improvements to Reportable Segment Disclosures,&#8221;. The ASU&#8217;s effective date is for fiscal years beginning after December 15, 2023. The adoption of the ASU 2023-07 will enhance expense disclosures in segment reporting and other qualitative disclosures and allows for disclosing multiple measures of segment profit or loss. The Company has adopted this standard and complied with the required disclosures. See Note 14, Segment reporting and concentrations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Recently Issued Accounting Pronouncements Not Yet Adopted - </b>On December 14, 2023, the FASB issued ASU No. 2023-09, &#8220;Income Taxes (Topic 740): Improvements to Income Tax Disclosures&#8221;. The ASU&#8217;s effective date is for fiscal years beginning after December 15, 2024 with early adoption permitted. The adoption of the ASU 2023-09 will enhance quantitative and qualitative disclosures related to rate reconciliation of significant components and income tax paid. We are currently evaluating the impact of the ASU on our disclosures within the consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">In November 2024, the FASB issued ASU 2024-03, &#8220;Income Statement - Reporting Comprehensive Income - Expense Disaggregation Disclosures (Subtopic 220-40): Disaggregation of Income Statement Expenses&#8221;. ASU No. 2024-03 does not change or remove existing expense disclosure requirements but requires disaggregated disclosures about certain expense categories and captions, including but not limited to, purchases of inventory, employee compensation, depreciation, amortization and selling expenses. ASU No. 2024-03 will become effective for us in fiscal 2027 and in the first quarter of fiscal 2028 for interim reporting. Early adoption is permitted. We are currently evaluating the impact of the ASU on our disclosures within the consolidated financial statements.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the general note to the financial statements for the reporting entity which may include, descriptions of the basis of presentation, business description, significant accounting policies, consolidations, reclassifications, new pronouncements not yet adopted and changes in accounting principles.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/235/tableOfContent<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 275<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/275/tableOfContent<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/810/tableOfContent<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 250<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/250/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491677868064">
<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>Accounts Receivable</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_AccountsAndNontradeReceivableTextBlock', window );">Accounts Receivable</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><b style="font-weight:bold;">2.</b> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<b style="font-weight:bold;">Accounts Receivable</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt;">Accounts receivable consists of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">     </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Gross Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,772</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,505</p></td></tr><tr><td style="vertical-align:bottom;width:70.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,759)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,217)</p></td></tr><tr><td style="vertical-align:bottom;width:70.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,013</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,288</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Activity in the allowance for the credit losses for the years ended December 31, 2024 and 2023 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:41.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:26.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For&#160;the&#160;Year&#160;Ended</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:26.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For&#160;the&#160;Year&#160;Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:26.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;December&#160;31,&#160;2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:26.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;December&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Balance at beginning of year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,217</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,213</p></td></tr><tr><td style="vertical-align:bottom;width:41.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Additions charged to expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 804</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 426</p></td></tr><tr><td style="vertical-align:bottom;width:41.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Write-offs against allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (256)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (426)</p></td></tr><tr><td style="vertical-align:bottom;width:41.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4</p></td></tr><tr><td style="vertical-align:bottom;width:41.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Balance at end of year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,759</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,217</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsAndNontradeReceivableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 accounts receivable, contract receivable, receivable held-for-sale, and nontrade 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 310<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/310/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/326/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_AccountsAndNontradeReceivableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491667796784">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and equipment<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 and equipment</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 and equipment</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">3.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Property and equipment</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Property and equipment, which include amounts recorded under capital leases, are stated at cost less accumulated depreciation and amortization (in thousands), and consist of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,135</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,315</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Computer software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,480</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,465</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Furniture and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 951</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,128</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,554</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,547</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Capital work-in-progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 547</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 434</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,667</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,889</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Less: accumulated depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (16,566)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (17,608)</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,101</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,281</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The estimated useful lives of the property and equipment range between two years and ten years. Depreciation and amortization expense of property and equipment were approximately $1.5 million and $1.2 million for the years ended December 31, 2024 and 2023, respectively.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491666505680">
<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</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 style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">4.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Goodwill and Intangible Assets</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The changes in the carrying amount of goodwill for the year ended December 31, 2024 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:84.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:84.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance - January 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,075</p></td></tr><tr><td style="vertical-align:bottom;width:84.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (77)</p></td></tr><tr><td style="vertical-align:bottom;width:84.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance - December 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,998</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">As of September 30, 2024, the Company performed its annual goodwill impairment analysis on its reporting unit with goodwill, the Agility segment. It involved a quantitative goodwill impairment test and estimated the fair value based on a combination of the income approach (estimates of future discounted cash flows) and the market approach (market multiples for similar companies) using unobservable inputs (Level 3). The income approach uses a discounted cash flow (&#8220;DCF&#8221;) method that utilizes the present value of cash flows to estimate the segment&#8217;s fair value. The future cash flows of the segment were projected based on the Company&#8217;s estimates of future revenues, operating income, and other factors such as working capital and capital expenditures. As part of the DCF analysis, the Company projected revenue and operating profits and assumed long-term revenue growth rates in the terminal year. The market approach utilizes multiples of revenues and earnings before interest expense, taxes, depreciation, and amortization (&#8220;EBITDA&#8221;) to estimate the segment&#8217;s fair value. The market multiples used for the segment were based on a group of comparable companies&#8217; market multiples applied to the Company&#8217;s revenue. The Company concluded that there is no impairment of goodwill.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The fair value measurement of goodwill for the Agility segment was classified within Level 3 of the fair value hierarchy because the Company used the income approach, which utilizes significant inputs that are unobservable in the market and the market multiple approach using comparable entities to further validate the carrying values. The Company believes it made reasonable estimates and assumptions to calculate the fair value of the reporting unit as of the impairment test measurement date. The carrying value of goodwill was $2.0 million and $2.1 million as of December 31, 2024, and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Intangibles</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Information regarding the Company acquired intangible assets and capitalized developed software was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">     </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying&#160;Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,060</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,911)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 146</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,144</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,856)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (29)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 259</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trademarks and tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 862</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (826)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 36</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Patents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 44</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (44)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Media Contact Database</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,546</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (3,016)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 529</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 9,656</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (8,653)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (33)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 970</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Capitalized Developed Software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19,811</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10,507)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (463)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,841</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">Capitalized  Developed Software - in Progress</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,552</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,542</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 23,363</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (10,507)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (473)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 12,383</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 33,019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (19,160)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (506)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 13,353</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;background:#ffff00;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">     </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying&#160;Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">     <span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">     <span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">     <span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,999</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,640)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 366</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,096</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,645)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 461</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trademarks and tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 852</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (774)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 80</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Patents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 43</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (40)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Media Contact Database</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,492</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,621)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 16</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 887</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 9,482</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (7,720)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 35</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 1,797</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Capitalized Developed Software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,216</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (6,862)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 138</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,492</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">Capitalized  Developed Software - in Progress</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,480</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (11)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,469</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 18,696</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (6,862)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 127</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 11,961</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 28,178</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (14,582)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 162</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 13,758</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;background:#ffff00;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Amortization expense relating to acquired intangible assets was approximately $0.8 million and $0.9 million for the years ended December 31, 2024 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:12.0pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Amortization expense relating to capitalized developed software was approximately $3.5 million and $2.7 million for the years ended December 31, 2024 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Estimated annual amortization expense for intangible assets subsequent to December 31, 2024 is as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,636</p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,158</p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,675</p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 742</p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 110</p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 32</p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13,353</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491667440400">
<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 Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Taxes</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">5.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Income Taxes</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The significant components of the provision for income taxes for the&#160;years ended December 31, 2024 and 2023 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Current income tax provision:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 525</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,181</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 126</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 120</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">State and local</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 768</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,419</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,304</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Deferred income tax provision:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (294)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (286)</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4,059)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">State and local</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,256)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (5,609)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (276)</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4,190)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,028</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The reconciliation of the U.S. statutory rate with the Company&#8217;s effective tax rate for the&#160;years ended December 31, 2024 and 2023 is summarized as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Federal income tax expense at statutory rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Effect of:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Section 162 (m)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 57.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 452.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Global Intangible Low-Taxed Income (GILTI)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Tax effects of foreign operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 562.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Return to provision true up</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 264.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign operations permanent differences - foreign exchange gains and losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 76.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Withholding tax</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 106.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Research and development credit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (67.3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Tax effect of intercompany settlement</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (234.0)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Deemed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.6)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (149.2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign rate differential</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.9)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (102.5)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">State income tax net of federal benefit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1.8)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Increase (decrease) in unrecognized tax benefits (ASC 740)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (3.8)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 199.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Change in valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (30.7)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 578.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Effect of stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (64.8)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (961.6)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (7.6)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Effective tax rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (17.1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 739.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Deferred tax assets and liabilities are classified as non-current. Significant components of the Company&#8217;s deferred tax assets and liabilities as of December 31, 2024 and 2023 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:27.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Deferred income tax assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Allowances not currently deductible</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 459</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 283</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 58</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Equity compensation not currently deductible</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 886</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,098</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Net operating loss carryforwards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,755</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,514</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Expenses not deductible until paid</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,274</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,972</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 87</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 585</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Total gross deferred income tax assets before valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,461</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,510</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4,969)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (13,769)</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Total Deferred income tax assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,492</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,741</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 18pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Deferred income tax liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Amortization of Intangibles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (32)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (22)</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Total Deferred income tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (32)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (22)</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net deferred income tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,460</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,719</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total deferred income tax assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,492</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,741</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total deferred income tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (32)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (22)</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net deferred income tax assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,460</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,719</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In assessing the realization of deferred tax assets, management considers whether it is more likely than not that all or some portion of the deferred tax assets will not be realizable. The ultimate realization of the deferred tax assets is dependent upon the generation of future taxable income during the periods in which temporary differences are deductible and net operating losses are available. As of December 31, 2024, the Company continues to maintain a valuation allowance on all of the Company&#8217;s Canadian and German subsidiaries&#8217; deferred tax assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company maintained a valuation allowance of approximately $5.0 million and $13.8 million as of December 31, 2024 and 2023, respectively. The net change in the total valuation allowance was a decrease of $8.8 million and an increase of $0.8 million for the&#160;years ended December 31, 2024 and December 31, 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The change is due to the Company&#8217;s assessment during the third and fourth quarters of 2024, where the Company determined it was more likely than not that the Company would be able to realize the benefit of the deferred tax assets in the United States and the United Kingdom, respectively, resulting in the release of the valuation allowance. In reaching this determination, the Company considered the growing trend of profitability over the last three years in the United States and the United Kingdom, as well as its expectations regarding the generation of future taxable income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The remaining valuation allowance as of December 31, 2024 relates to the Company&#8217;s Canadian and German subsidiaries&#8217; deferred tax assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Despite the access to the overseas earnings and the resulting toll charge, the Company intends to indefinitely reinvest the foreign earnings in our foreign subsidiaries on account of the foreign jurisdiction withholding tax that the Company has to incur on the actual remittances. Unremitted earnings of foreign subsidiaries amounted to approximately $53.9 million at December 31, 2024. If such earnings are repatriated in the future or are no longer deemed to be indefinitely reinvested, the Company would have to accrue the applicable amount of foreign jurisdiction withholding taxes associated with such remittances.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">United States and foreign components of income (loss) before provision for income taxes for each of the years ended December&#160;31, were as follows&#160;(in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:60.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:60.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,692</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,025</p></td></tr><tr><td style="vertical-align:bottom;width:60.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,793</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,886)</p></td></tr><tr><td style="vertical-align:bottom;width:60.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,485</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 139</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">At December 31, 2024, the Company had available U.S. federal &amp; state net operating loss (NOL) carryforwards of approximately $10.6 million and $6.5M, respectively. The Company had research and development credit carryforwards of approximately $0.1 million. The Federal income tax NOL carryforwards expire at various times from the year 2034 through the year 2035 and the research and development credit expires in 2042. The state income tax NOL carryforwards begin expiring at various times starting in 2025. The deferred tax benefit for these NOL carryforwards and R&amp;D credit carryforwards have been recognized for financial statement purposes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Under the CARES Act, the Internal Revenue Code was amended to allow for federal NOL carrybacks for five years to offset previous years&#8217; taxable income or for the NOL to be carried forward indefinitely to offset 80% of taxable income for tax years 2021 and thereafter. As of the date the financial statements were issued, the state NOL carryforwards, if not utilized, will expire beginning in 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">On December 31, 2024, the Company&#8217;s Agility subsidiary in the U.K. had available NOL carryforwards of approximately $0.4 million. The deferred tax benefit for these NOL carryforwards has been recognized for financial statement purposes. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">On December 31, 2024, the Company&#8217;s Canadian subsidiaries had available Canadian NOL carryforwards of approximately $23.2 million that will begin to expire in 2037 and research and development credits of approximately $1.3 million that have no expiry. The potential benefits from these balances have not been recognized for financial statement purposes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">On December 31, 2024, the Company&#8217;s German subsidiary had available NOL carryforwards of approximately $0.7 million. The potential benefits from these balances have not been recognized for financial statement purposes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company is subject to Federal income tax, as well as income tax in various states and foreign jurisdictions. The Company has open tax years for U.S. Federal and state taxes from 2020 through 2024. Various foreign subsidiaries have open tax years from 2005 through 2024, some of which are under audit by local tax authorities. The Company believes that its accruals for uncertain tax positions as of December 31, 2024 under ASC 740, Income Taxes are adequate to cover the Company&#8217;s income tax exposures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table represents a roll forward of the Company&#8217;s unrecognized tax benefits and associated interest for the&#160;years ended (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Unrecognized Tax </b></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Benefits</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at beginning of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,942</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,680</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Decrease for prior year tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,309)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (68)</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Increase for current year tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 341</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 247</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Interest accrual</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 80</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 97</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency remeasurement</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (55)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (14)</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at end of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 999</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,942</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The Company had reserves for uncertain tax positions of $1.0 million and $1.9 million as of December 31, 2024, and 2023, respectively, where the ultimate tax determination is uncertain due to complexities of tax laws. The decrease in unrecognized tax benefits resulted from reversal of accruals of $1.3 million in unrecognized tax benefits for a subsidiary because the examination period for an open tax year had prescribed. The Company expects that unrecognized tax benefits as of December 31, 2024 and December 31, 2023, if recognized, would have a material impact on the Company&#8217;s effective tax rate.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income tax.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12C<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12B<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 270<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477891/740-270-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.5.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-13<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/740/tableOfContent<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-14<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-21<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-17<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482603/740-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491666634352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Long-term obligations<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_inod_LongTermObligationsAbstract', window );"><strong>Long-term obligations</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_inod_LongTermObligationsDisclosureTextBlock', window );">Long-term obligations</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">6.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Long-term obligations</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Total long-term obligations as of December 31, 2024 and 2023 consisted of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pension obligations - accrued pension liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,945</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,128</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Microsoft licenses <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 442</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 911</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,387</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,039</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: Current portion of long-term obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,643</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,261</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,744</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,778</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 115.2pt;"><span style="font-size:8pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 12pt 0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup> In March 2023, the Company renewed a vendor agreement to acquire certain additional software licenses, receive technical support and future software upgrades on software licenses through February 2026. Pursuant to this agreement, the Company is contractually liable to pay approximately $0.4 million annually over the term of the agreement.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_LongTermObligationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_LongTermObligationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_LongTermObligationsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 obligations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_LongTermObligationsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491667949248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>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_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingencies</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">7.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Commitments and contingencies </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Litigation&#160;- </b>In 2008, a judgment was rendered in the Philippines against a Philippine subsidiary of the Company that is no longer active and purportedly also against Innodata&#160;Inc., in favor of certain former employees of the Philippine subsidiary. The potential payment amount aggregates to approximately $5.6 million, plus legal interest that accrued at 12% per annum from August 13, 2008 to June 30, 2013, and thereafter accrued and continues to accrue at 6% per annum. The potential payment amount as expressed in U.S. dollars varies with the Philippine peso to U.S. dollar exchange rate. In December&#160;2017, a group of 97 of the former employees of the Philippine subsidiary indicated that they proposed to record the judgment as to themselves in New Jersey. In January&#160;2018, in response to an action initiated by Innodata&#160;Inc., the United States District Court for the District of New Jersey (&#8220;USDC&#8221;) entered a preliminary injunction that enjoins these former employees from pursuing or seeking recognition or enforcement of the judgment against Innodata&#160;Inc. in the U.S. during the pendency of the action and until further order of the USDC. In June&#160;2018, the USDC entered a consent order administratively closing the action subject to return of the action to the active docket upon the written request of Innodata&#160;Inc. or the former employees, with the USDC retaining jurisdiction over the matter and the preliminary injunction remaining in full force and effect. The principal relevant cases in the Philippines are Court of Appeals Case Nos. CA - G.R. SP No. 93295 Innodata Employees Association (IDEA), Eleanor Tolentino, et al. vs. Innodata Philippines, Inc., et al., and CA - G.R. SP No. 90538 Innodata Philippines, Inc. vs. Honorable Acting Secretary Manuel G. Imson, et al. (28 June 2007), the Department of Labor and Employment National Labor Relations Commission, Republic of the Philippines (NLRC - NCR - Case No.07 - 04713 - 2002, et al., Innodata Employees Association (IDEA) and Eleanor A. Tolentino, et al. vs. Innodata Philippines, Inc., et al), and the Department of Labor and Employment Office of the Secretary of Labor and Employment, Republic of the Philippines (Case No. OS - AJ - 0015 - 2001, In Re: Labor Dispute at Innodata Philippines, Inc.). The U.S. District Court action is Civil Action No.: 2:17 - cv - 13268 - SDW - LDW Innodata Inc. v. Myrna C. Augustin&#160;- Simon; et al.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In February 2024, David D&#8217;Agostino filed a putative class action captioned D&#8217;Agostino v. Innodata Inc., et al., in the United States District Court for the District of New Jersey against the Company and certain of its current and former officers (the &#8220;Securities Class Action&#8221;). In October 2024, the presiding judge in the Securities Class Action appointed a lead plaintiff and approved the lead plaintiff&#8217;s choice of counsel. In January 2025, an amended Securities Class Action complaint was filed in the Securities Class Action. The complaint asserts claims under Sections 10(b) and 20(a) of the Securities Exchange Act of 1934, as amended, and Rule 10b-5 promulgated thereunder, and it alleges, among other things, that the defendants made false and misleading statements regarding the Company&#8217;s artificial intelligence (&#8220;AI&#8221;) technology and services. The plaintiff seeks unspecified damages, fees, interest, and costs. The Company intends to defend itself vigorously, but the Company cannot predict the outcome of the action at this time and can give no assurance that the asserted claims will not have a material adverse effect on its financial position or results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Subsequently, in March 2024, the Company received a letter from the staff of the Securities and Exchange Commission, Division of Enforcement (the &#8220;SEC&#8221;), requesting the Company preserve certain documents and data; in August 2024 the Company received a grand jury subpoena from the U.S. Department of Justice (&#8220;DOJ&#8221;) requesting the Company to produce certain documents; and in September 2024 the Company received a subpoena from the SEC requesting certain information. The Company believes that the SEC and DOJ requests are related to the conduct alleged in the Securities Class Action, and is cooperating with these investigations. The Company is unable to predict when these matters will be resolved or what further action, if any, the SEC or DOJ may take in connection with it.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company is also subject to various other legal proceedings and claims that have arisen in the ordinary course of business. While the Company believes that it has adequate reserves for those losses that it believes are probable and can be reasonably estimated, the ultimate results of legal proceedings and claims cannot be predicted with certainty.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">While management currently believes that the ultimate outcome of these proceedings will not have a material adverse effect on the Company&#8217;s consolidated financial position or overall trends in consolidated results of operations, litigation is subject to inherent uncertainties. Substantial recovery against the Company in the above-referenced Philippine action could have a material adverse impact on the Company, and unfavorable rulings or recoveries in the other proceedings could have a material adverse impact on the consolidated operating results in the period in which the ruling or recovery occurs. In addition, the Company&#8217;s estimate of the potential impact on the Company&#8217;s consolidated financial position or overall consolidated results of operations for the above referenced legal proceedings could change in the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s legal accruals related to legal proceedings and claims are based on the Company&#8217;s determination of whether or not a loss is probable. The Company reviews outstanding proceedings and claims with external counsel to assess probability and estimates of loss. The accruals are adjusted if necessary. While the Company intends to defend these matters vigorously, adverse outcomes that it estimates could reach approximately $450,000 in the aggregate beyond recorded amounts are reasonably possible. If circumstances change, the Company may be required to record adjustments that could be material to its reported consolidated financial condition and results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Foreign Currency&#160;</b>- To the extent that the currencies of the Company&#8217;s production facilities located in the Philippines, India, Sri Lanka and Israel fluctuate, the Company is subject to risks of changing costs of production after pricing is established for certain customer projects. In addition, the Company is exposed to the risk of foreign currency fluctuation on the non-U.S. dollar denominated revenues, and on the monetary assets and liabilities held by its foreign subsidiaries that are denominated in local currency.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Indemnifications&#160;</b>- The Company is obligated under certain circumstances to indemnify directors, officers and certain employees against costs and liabilities incurred in actions or threatened actions brought against such individuals because such individuals acted in the capacity of director, officer or fiduciary of the Company. In addition, the Company has contracts with certain customers pursuant to which the Company has agreed to indemnify the customer for certain specified and limited claims under such contract. These indemnification obligations occur in the ordinary course of business and, in many cases, do not include a limit on potential maximum future payments. As of December 31, 2024, the Company has not recorded a liability for any obligations arising as a result of these indemnification obligations.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 405<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/405-30/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482648/440-10-50-4<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/450/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 440<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478522/954-440-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482648/440-10-50-4<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 440<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/440/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491791369440">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Operating 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_us-gaap_LesseeDisclosureAbstract', window );"><strong>Operating 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 );">Operating Leases</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">8.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Operating Leases</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company has various lease agreements for its offices and service delivery centers. The Company has determined that the risks and benefits related to the leased properties are retained by the lessors. Accordingly, these are accounted for as operating leases.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">These lease agreements are for terms ranging from <span style="-sec-ix-hidden:Hidden_Nq0piYfJ70iBZplajOJ_Wg;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">three</span></span> to eleven years and, in most cases, provide for rental escalations ranging from 1.75% to 15%. Most of these agreements are renewable at the mutual consent of the parties to the contract.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company recognizes an operating lease liability and right-of-use asset in compliance with current lease accounting standard ASC 842. The amount of right-of-use asset is equal to the present value of the remaining lease payments discounted using the incremental borrowing rate of each respective country. Modifications, if any are recalculated and corresponding adjustments are made to the carrying values of both the lease liability and right-of-use assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">A right-of-use asset is measured as the amount of the lease liability adjusted for the amount of deferred straight-line rent, prepaid rent and lease incentive allowances previously recognized.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The table below summarizes the amounts recognized in the financial statements related to operating leases for the years presented (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:43.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:22.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:22.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:43.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:52.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year&#160;Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:43.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:43.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Rent expense for long-term operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,257</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,252</p></td></tr><tr><td style="vertical-align:bottom;width:43.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Rent expense for short-term leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 178</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 305</p></td></tr><tr><td style="vertical-align:bottom;width:43.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Total rent expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,435</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,557</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table presents the maturity profile of the Company&#8217;s operating lease liabilities based on the contractual undiscounted payments with a reconciliation of these amounts to the remaining net present value of the operating lease liability reported in the consolidated balance sheet as of December 31, 2024 (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,300</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,332</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,328</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 957</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 695</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">2030 and thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 175</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Total lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,787</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Less: Interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,132)</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net present value of lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,655</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 877</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Long-term portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,778</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 18pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,655</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The weighted average remaining lease terms and discount rates for all of our operating leases as of December 31, 2024 were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average lease term remaining</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;">51 months</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average discount rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">9.39%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491668865248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pension Benefits<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_CompensationAndRetirementDisclosureAbstract', window );"><strong>Pension Benefits</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock', window );">Pension Benefits</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">9.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Pension Benefits</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">U.S. Defined Contribution Pension Plan&#160;- </b>The Company has a defined contribution plan qualified under Section&#160;401(k)&#160;of the&#160;Internal&#160;Revenue&#160;Code, pursuant to which substantially all of its U.S. employees are eligible to participate after completing six&#160;months of service. Participants may elect to contribute a portion of their compensation to the plan. Under the plan, the Company has the discretion to match a portion of participants&#8217; contributions. For the&#160;years ended December 31, 2024 and 2023, the Company did not make any matching contributions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Most of the non-U.S. subsidiaries provide for government-mandated defined pension benefits. For certain of these subsidiaries, vested eligible employees are provided a lump sum payment upon retiring from the Company at a defined age. The lump sum amount is based on the salary and tenure as of retirement date. Other non-U.S. subsidiaries provide for a lump sum payment to vested employees on retirement, death, incapacitation or termination of employment, based upon the salary and tenure as of the date employment ceases. The liability for such defined benefit obligations is determined and provided on the basis of actuarial valuations. As of December 31, 2024, these plans were unfunded. Pension expense for our foreign subsidiaries totaled approximately $1.2 million for each of the years ended December 31, 2024 and 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The following tables set out the status of the non-U.S. pension benefits and the amounts recognized in the Company&#8217;s consolidated financial statements and the components of pension costs for the years ended December 31, 2024 and 2023 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt;">Benefit Obligations:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Projected benefit obligation at beginning of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,128</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,906</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Service cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 717</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 568</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_dTanDrqytkiI4Uv_EFTIpA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Interest cost</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 522</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 478</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Actuarial loss (gain)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (105)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 324</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency exchange rates changes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (166)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 54</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Benefits paid</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (151)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (202)</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Projected benefit obligation at end of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,945</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,128</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The Company had an actuarial gain of $0.1 million for the year ended December 31, 2024, and an actuarial loss of $0.3 million for the year ended December 31, 2023. This was mainly due to changes in the salary rate assumption for our Asian subsidiaries. Actuarial (gains) losses are recorded as part of other comprehensive income and are not reflected as part of net periodic pension cost.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt;">Components of Net Periodic Pension Cost:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Service cost </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 717</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 568</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Interest cost </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 522</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 478</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_usZZvKP_Ukqb3RkNFi3dVA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Actuarial loss recognized</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 147</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net periodic pension cost </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,237</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,193</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The accumulated benefit obligation, which represents benefits earned to date, was approximately $4.7 million and $3.9&#160;million for each of the years ended December 31, 2024 and 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Amounts recognized in the consolidated balance sheets for the&#160;years ended December 31, 2024 and 2023 consisted of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Current accrued benefit cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,229</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 880</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Non-current accrued benefit cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,716</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,248</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total amount recognized</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,945</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,128</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Current accrued benefit cost for pension benefits was included in the current portion of long-term obligations in the consolidated balance sheets. Non-current accrued benefit cost for pension benefits was included in long-term obligations, net of current portion, in the consolidated balance sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Actuarial assumptions for all non-U.S. plans are described below. The discount rates are used to measure the&#160;year-end benefit obligations and the earnings effects for the subsequent&#160;year. The assumptions for the&#160;years ended December 31, 2024 and 2023 were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Discount rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">6.09%-12%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">6.73%-12.8%</p></td></tr><tr><td style="vertical-align:bottom;width:62.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Rate of increase in compensation level</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">7%-10%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">7.5%-14.5%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Estimated Future Benefit Payments:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">As of December 31, 2024, the following benefit payments, which reflect expected future service, as appropriate, were expected to be paid (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:top;width:75.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:75.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,246</p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 320</p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 658</p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 188</p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 606</p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2030 to 2034</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,142</p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,160</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for retirement benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 70<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480794/715-70-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-17<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (q)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/715/tableOfContent<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (o)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (p)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480126/715-20-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480266/715-60-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491666639296">
<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_StockholdersEquityNoteAbstract', window );"><strong>Capital Stock</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 style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">10.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Capital Stock</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Common Stock&#160;- </b>The Company is authorized to issue 75,000,000 shares of common stock. Each share of common stock has one vote. Subject to preferences that may be applicable to any outstanding shares of preferred stock, the holders of common stock are entitled to receive ratably such dividends, if any, as may be declared by the Board of Directors. No common stock dividends have been declared to date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Preferred Stock&#160;- </b>The Company is authorized to issue 4,998,000 shares of preferred stock. The Board of Directors is authorized to fix the terms, rights, preferences and limitations of the preferred stock and to issue the preferred stock in series that differ as to their relative terms, rights, preferences and limitations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Common Stock Reserved&#160;- </b>As of December 31, 2024, the Company had available for future issuance 902,824 shares of common stock pursuant to the Company&#8217;s stock option plans.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Treasury Stock&#160;-</b> In July 2019, the Company&#8217;s Board of Directors authorized the repurchase of up to $2.0 million of its common stock in open market or private transactions. There is no expiration date associated with the program. There were no share repurchases in the years ended December 31, 2024 and 2023. As of December 31, 2024, the Company repurchased 1.5 million shares of its common stock under the July 2019 authorization with a value of $1.8 million.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-14<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477968/946-235-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477968/946-235-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-6<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480237/815-40-50-6<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/505/tableOfContent<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-14<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-14<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 16<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-16<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-18<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-18<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491677861088">
<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>Stock Options</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">Stock Options</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">11.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Stock Options</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Innodata Inc. 2013 Stock Plan (as amended, the &#8220;2013 Plan&#8221;) expired in accordance with its terms on June 3, 2023. Pursuant to the terms of the 2013 Plan, no further awards may be granted under the 2013 Plan following its expiration. As of December 31, 2024, there were 3,365,193 shares of our common stock underlying outstanding options or rights under the 2013 Plan. Outstanding awards made under the 2013 Plan prior to the 2013 Plan&#8217;s expiration will remain in effect until such awards have been satisfied or terminated in accordance with the terms of the 2013 Plan and such awards.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">On June 9, 2023, stockholders of the Company approved amendments to the Innodata Inc. 2021 Equity Compensation Plan (as amended, the &#8220;2021 Plan&#8221;). The number of shares of common stock of Innodata Inc. that may be delivered, purchased or used for reference purposes (with respect to stock appreciation rights or stock units) for awards granted under the 2021 Plan is 4,000,000 (the &#8220;Share Reserve&#8221;). Shares subject to an option or stock appreciation right granted under the 2021 Plan count against the Share Reserve as one share for every share granted, and shares subject to any other type of award granted under the <span style="-sec-ix-hidden:Hidden_upOLd_YbXkymY66duN8I7w;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">2021</span></span> Plan count against the Share Reserve as two shares for every share granted for awards granted prior to April 11, 2023, and <span style="-sec-ix-hidden:Hidden_-5NjuzOIGkyCsdwqEurfMw;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">one</span></span> and a half shares for every share granted for awards granted on or after April 11, 2023. Any shares withheld, tendered or exchanged by a participant in the 2021 Plan as full or partial payment to Innodata of the exercise price under an option under the 2021 Plan, or in satisfaction of a participant&#8217;s tax withholding obligations with respect to any award under the 2021 Plan, will not be added back to the Share Reserve.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The fair value of stock options is estimated on the date of grant using the Black-Scholes option pricing model. The weighted-average fair value of the options granted, and weighted-average assumptions were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:46.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For&#160;the&#160;Year&#160;Ended&#160;December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average fair value of options granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 32.07</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.56</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Risk-free interest rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4.40</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4.34</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:48.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Expected term (years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 6.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 6.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Expected volatility factor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 87.69</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">75.35</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:48.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Expected dividends</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> None </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> None </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company estimates the risk-free interest rate using the U.S. Treasury yield curve for periods equal to the expected term of the options in effect at the time of grant. The expected term of options granted is based on a combination of vesting schedules, term of the options and historical experience. Expected volatility is based on the historical volatility of the Company&#8217;s common stock. The Company uses an expected dividend yield of zero since it has never declared or paid any dividends on its capital stock.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Stock Options</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">2013 Plan</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">A summary of option activity under the 2013 Plan and changes during each of the years ended December 31, 2024 and 2023 are presented below. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:15.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted&#160;-Average</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:15.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contractual&#160;Term</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:15.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(years)</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:11.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Intrinsic&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at January 1, 2024</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,339,162</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.22</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 6.38</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,640,009</p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Granted</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,169,968)</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.54</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4,001)</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6.96</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at December 31, 2024</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,165,193</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.67</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 6.32</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 113,458,326</p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercisable at December 31, 2024</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,673,966</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.54</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 5.51</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 61,901,891</p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested and Expected to vest at December 31, 2024</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,165,193</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.67</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 6.32</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 113,458,326</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted&#160;&#8211;&#160;Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contractual&#160;Term</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Intrinsic&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at January 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,690,490</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.09</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 7.19</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,989,709</p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Granted*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 25,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.31</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,287,462)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.37</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (88,866)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6.27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,339,162</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.22</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 6.38</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,640,009</p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercisable at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,475,780</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.18</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 6.40</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22,237,334</p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested and Expected to vest at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,339,162</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.22</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 6.38</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,640,009</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt;"><i style="font-style:italic;">* Includes </i><i style="font-style:italic;">25,000</i><i style="font-style:italic;"> stock options granted to a non-employee member of the Company&#8217;s advisory board.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><i style="font-style:italic;">2021 Plan</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">A summary of option activity under the 2021 Plan and changes during each of the years ended December 31, 2024 and 2023 are presented below. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted&#160;- Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contractual Term</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intrinsic Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding at January 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 923,571</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.76</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,786,252</p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 268,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42.57</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (336,264)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.44</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (13,536)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.84</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding at December 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 842,271</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.86</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.46</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,847,471</p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Exercisable at December 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 314,244</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.32</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 7.73</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,374,251</p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested and Expected to vest at December 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 842,271</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.86</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.46</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,847,471</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted&#160;-&#160;Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contractual Term</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intrinsic Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding at January 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,027,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.46</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 9.75</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13.05</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (63,595)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.59</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (43,334)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 923,571</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.76</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,786,252</p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Exercisable at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 386,209</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.34</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.74</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,023,601</p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested and Expected to vest at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 923,571</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.76</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,786,252</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">A total of 268,500 options were granted during the year ended December 31, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">During the year ended December 31, 2024, a total of 2,506,232 options were exercised at an average exercise price of $2.66.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Restricted Stock Awards</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">There were no outstanding awards of restricted stock under the 2013 Plan or the 2021 Plan (collectively, the &#8220;Equity Plans&#8221;) during each of the years ended December 31, 2024 and 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Restricted Stock Units</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Restricted stock unit activity under the Equity Plans during each of the years ended December 31, 2024 and 2023 are presented below:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted&#160;Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant&#160;Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at January 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 749,756</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.77</p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 549,079</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40.61</p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (48,761)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.42</p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (995)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.29</p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at December 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,249,079</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20.98</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant&#160;Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Units</b></p></td><td style="vertical-align:middle;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at January 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 700,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.59</p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,756</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.29</p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 749,756</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.77</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">There were a total of 34,246 <span style="-sec-ix-hidden:Hidden_TKcAPII4akSwiA0-ioPAUg;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">restricted</span></span> stock units granted to non-employees and non-employee directors during the year ended December 31, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2024, there were 200,000 and 1,049,079 outstanding restricted stock unit awards under the 2013 Plan and 2021 Plan, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The stock-based compensation expense is recognized on a straight-line basis over a period of 36 months. The fair value of restricted stock units is based on the closing price of the stock at the time of the grant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The compensation cost related to non-vested stock options not yet recognized as of December 31, 2024 totaled approximately $9.1 million. The weighted-average period over which these costs will be recognized is 34 months.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The compensation cost related to non-vested restricted stock units not yet recognized as of December 31, 2024 totaled approximately $21.9 million. The weighted-average period over which these costs will be recognized is 16 months.</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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491791372864">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Redemption of non-controlling interest<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_inod_RedemptionOfNonControllingInterestAbstract', window );"><strong>Redemption of non-controlling interest</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_inod_RedemptionOfNonControllingInterestTextBlock', window );">Redemption of non-controlling interest</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">12.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Redemption of non-controlling interest</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><span style="font-weight:normal;">On December 31, 2024, the Company redeemed the </span><span style="font-weight:normal;">6.1%</span><span style="font-weight:normal;"> non-controlling interest in Innodata DocGenix, LLC; Innodata DocGenix, LLC, is now a wholly owned subsidiary. The Company accounted for the transaction in accordance with ASC Topic 810, &#8220;Consolidation&#8221;, which discusses the proper accounting treatment of the carrying value for the non-controlling interest. Under the standard, any change in ownership that does not result in a loss of control is to be accounted for as an equity transaction. To comply with the standard, the Company reclassified the remaining carrying value of the Non-controlling interest attributed to the DocGenix subsidiary amounting to </span><span style="font-weight:normal;">$0.6</span><span style="font-weight:normal;"> million from Non-controlling interest to Additional paid-in capital in the Consolidated Balance Sheets as of December 31, 2024. </span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_RedemptionOfNonControllingInterestAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_RedemptionOfNonControllingInterestAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_RedemptionOfNonControllingInterestTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 Redemption of non-controlling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_RedemptionOfNonControllingInterestTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491677819520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Comprehensive loss<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_ComprehensiveIncomeNetOfTaxAbstract', window );"><strong>Comprehensive loss</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_ComprehensiveIncomeNoteTextBlock', window );">Comprehensive loss</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">13.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Comprehensive loss</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Accumulated other comprehensive loss, as reflected in the consolidated balance sheets, consists of pension liability adjustments, net of taxes, foreign currency translation adjustment and changes in fair value of derivatives, net of taxes. The components of accumulated other comprehensive loss as of December 31, 2024 and 2023, and reclassifications out of accumulated other comprehensive loss for the&#160;years then ended, are presented below (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated&#160;Other</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Pension&#160;Liability</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Comprehensive</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Derivatives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Loss</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at January 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (412)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,250)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,621)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Other comprehensive income (loss) before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 172</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (494)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (592)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (914)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total other comprehensive loss before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (240)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (453)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,842)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,535)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net amount reclassified to earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 58</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 65</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at December 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (233)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (395)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,842)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,470)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated&#160;Other</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Pension&#160;Liability</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Comprehensive</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Derivatives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Loss</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at January 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (86)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (365)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,657)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,108)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Other comprehensive income (loss) before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (322)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 185</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 407</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 270</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total other comprehensive loss before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (408)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (180)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,250)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,838)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net amount reclassified to earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 221</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 217</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (412)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,250)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,621)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Taxes related to each component of other comprehensive loss were not material for the fiscal years presented and therefore not disclosed separately.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">All reclassifications out of accumulated other comprehensive loss had an impact on direct operating costs in the consolidated statements of operations and comprehensive loss.</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_ComprehensiveIncomeNetOfTaxAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNoteTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 comprehensive income, which includes, but is not limited to, 1) the amount of income tax expense or benefit allocated to each component of other comprehensive income, including reclassification adjustments, 2) the reclassification adjustments for each classification of other comprehensive income and 3) the ending accumulated balances for each component of comprehensive 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/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><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(21))<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(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/220/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_ComprehensiveIncomeNoteTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491773417328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment reporting and concentrations<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 and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingDisclosureTextBlock', window );">Segment reporting and concentrations</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">14.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Segment reporting and concentrations</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s operations are classified in three reporting segments: Digital Data Solutions (DDS), Synodex and Agility.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The DDS segment provides AI data preparation services, collecting or creating training data, annotating training data, and training AI algorithms for its customers, and AI model deployment and integration. The DDS segment also provides a range of data engineering support services including data transformation, data curation, data hygiene, data consolidation, data extraction, data compliance, and master data management.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Synodex segment provides an industry platform that transforms medical records into useable digital data organized in accordance with its proprietary data models or customer data models.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Agility segment provides an industry platform that provides marketing communications and public relations professionals with the ability to target and distribute content to journalists and social media influencers world-wide and to monitor and analyze global news channels (print, web, radio and TV) and social media channels.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">A significant portion of the Company&#8217;s revenues is generated from its locations in the Philippines, India, Sri Lanka, Canada, Germany, Israel, United States and the United Kingdom. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s chief operating decision maker (CODM) is the senior executive committee that includes the chief executive officer, chief operating officer, and the chief financial officer (interim).</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The U.S. GAAP measures used by the Company&#8217;s CODM to evaluate segment performance and allocate resources&#8212;such as employees, property, and financial or capital resources during the annual budgeting and forecasting process, are Revenues, Gross Profit and Income before provision for income taxes. Performance results are monitored, reviewed, and measured monthly and quarterly by comparing budget and forecast to actual results for profit measures, assessing returns on investment, compensation decisions and changing strategies, if required.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The accounting policies used by the DDS, Synodex and Agility segments are the same as those described in the summary of significant accounting policies.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;">The measure of segment assets is reported on the balance sheet as total consolidated assets shown in the table below (in thousands): </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:34.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-family:'Aptos Narrow';font-weight:bold;">&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">DDS</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 87,165</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 37,232</p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Synodex</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,983</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,379</p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Agility <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,301</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 18,820</p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total Consolidated</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 113,449</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 59,431</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup><span style="display:inline-block;width:12.17pt;"></span>Agility assets include goodwill of $2.0 million and $2.1 million as of December 31, 2024 and 2023, respectively</p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="display:inline-block;width:12.17pt;"></span>Segment assets consist of cash, receivables, prepaid and other current assets, property and equipment, and intangibles.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;">The table below shows segment information for other significant income statement items (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">DDS</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Synodex</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Agility</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 141,098</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,864</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,499</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 170,461</p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#1f1f1f;">Direct operating costs </span><sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup><span style="color:#1f1f1f;"> </span><sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 88,186</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,763</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,438</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 103,387</p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#1f1f1f;">Gross profit</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 52,912</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,101</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,061</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 67,074</p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#1f1f1f;">Selling and administrative expenses </span><sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="color:#1f1f1f;"> </span><sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(4)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 31,685</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 194</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,859</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 42,738</p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#1f1f1f;">Segment operating income</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,227</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,907</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,202</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,336</p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Interest expense (income), net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (153)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (149)</p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Income before provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,380</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,907</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,198</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,485</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">DDS</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Synodex</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Agility</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 61,576</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,511</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,688</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 86,775</p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#1f1f1f;">Direct operating costs </span><sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1) (3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 40,057</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,712</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,713</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 55,482</p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#1f1f1f;">Gross profit</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,519</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 799</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,975</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 31,293</p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#1f1f1f;">Selling and administrative expenses </span><sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2) (4)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,085</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 580</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,310</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 30,975</p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#1f1f1f;">Segment operating income</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,434</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 219</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,335)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 318</p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Interest expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 174</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 179</p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Income before provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,260</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 219</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,340)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 139</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><span style="font-size:8pt;">Direct operating costs consist of direct and indirect labor costs, occupancy costs, data center hosting fees, cloud services, content acquisition costs, depreciation and amortization, travel, telecommunications, computer services and supplies, realized (gain) loss on forward contracts, foreign currency revaluation (gain) loss, and other direct expenses that are incurred in providing services to our customers.</span></p></td></tr></table><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><span style="font-size:8pt;">Selling and administrative expenses consist of payroll and related costs including commissions, bonuses, and stock-based compensation; marketing, advertising, trade conferences and related expenses; new services research and related software development expenses, software subscriptions, professional and consultant fees, provision for credit losses and other administrative overhead expenses.</span></p></td></tr></table><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><span style="font-size:8pt;">Includes non-cash expenses which consist mainly of depreciation, amortization of capitalized software development costs and stock-based compensation expense.</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(4)</sup><span style="display:inline-block;width:12.17pt;"></span>Includes non-cash expenses which consist mainly of stock-based compensation expense.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Long-lived assets as of December 31, 2024 and 2023 by geographic region were comprised of (in thousands): </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:35.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,182</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,101</p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign countries:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,265</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,328</p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 806</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,028</p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Philippines</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,532</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,484</p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">India</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,251</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,791</p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Sri Lanka</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 587</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 423</p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Israel</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 63</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13</p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Germany</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13,508</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14,067</p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">23,690</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23,168</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt;">Long-lived assets include the unamortized balance of right-of-use assets amounting to $4.2 million and $5.1 million as of December 31, 2024 and December 31, 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">One customer in the DDS segment generated approximately 48% of the Company&#8217;s total revenues in the fiscal year ended December 31, 2024. Another customer in the DDS segment generated approximately 10% of the Company&#8217;s total </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">revenues in the fiscal year ended December 31, 2023. No other customer accounted for 10% or more of total revenues during these periods. Further, in the&#160;years ended December 31, 2024 and 2023, revenues from non-U.S. customers accounted for 21% and 37%, respectively, of the Company&#8217;s revenues.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Revenues for each of the two&#160;years in the period ended December 31, 2024 and 2023 by geographic region (determined based upon customer domicile), were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:34.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 133,876</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 54,430</p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United Kingdom </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,006</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,766</p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">The Netherlands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,059</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,291</p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,696</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,156</p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Others - principally other European countries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,824</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,132</p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 170,461</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 86,775</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">As of December 31, 2024, approximately 16% of the Company&#8217;s accounts receivable was due from foreign (principally European) customers and 61% of accounts receivable was due from two customers. As of December 31, 2023, approximately 31% of the Company&#8217;s accounts receivable was due from foreign (principally European) customers and 53% of accounts receivable was due from three customers. No other customer accounted for 10% or more of the accounts receivable as of December 31, 2024 and 2023.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491667951296">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income (loss) 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>Income (loss) per Share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">Income (loss) per Share</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt;">15.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Income (loss) per Share</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For&#160;the&#160;Years&#160;Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net income (loss) attributable to Innodata Inc. and Subsidiaries </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,660</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (908)</p></td></tr><tr><td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average common shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 29,163</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,131</p></td></tr><tr><td style="vertical-align:bottom;width:70.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Dilutive effect of outstanding options and restricted stock units</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,014</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Adjusted for dilutive computation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 32,177</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,131</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Basic income (loss) per share is computed using the weighted-average number of common shares outstanding during the&#160;year. Diluted income per share is computed by considering the impact of the potential issuance of common shares, using the treasury stock method, on the weighted average number of shares outstanding. For those securities that are not convertible into a class of common stock, the two-class method of computing loss per share is used.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Options to purchase 4.0 million shares of common stock for the year ended December 31, 2024 were outstanding. Of these options, 3.7 million were included in the computation of diluted income per share while the remaining 0.3 million were not included in the computation of diluted income per share because the exercise price of the options were greater than the average market price of the common shares and therefore have not been considered as potential equity shares. Also included in the computation of dilutive income per share are 513,455 restricted stock units using the treasury stock method to determine the dilutive effect of restricted stock units outstanding as of December 31, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Options to purchase 6.3 million shares of common stock for the year ended December 31, 2023 were outstanding but not included in the computation of diluted loss per share because the effect would have been anti-dilutive.</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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491666653168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivatives<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_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract', window );"><strong>Derivatives</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_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock', window );">Derivatives</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">16.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Derivatives</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company conducts a large portion of its operations in international markets which subject it to foreign currency fluctuations. The most significant foreign currency exposures occur when revenue and associated accounts receivable are collected in one currency and expenses to generate revenues are incurred in another currency. The Company is also subject to wage inflation and other government mandated increases and operating expenses in Asian countries where the Company has the majority of its operations. The Company&#8217;s primary inflation and exchange rate exposure relates to payroll, other payroll costs and operating expenses in the Philippines, India, Sri Lanka and Israel.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In addition, although most of the Company&#8217;s revenue is denominated in U.S. dollars, a significant portion of total revenues is denominated in Canadian dollars, Pound Sterling and Euros.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s policy is to enter derivative instrument contracts with terms that coincide with the underlying exposure being hedged for a period up to 12 months. As such, the Company&#8217;s derivative instruments are expected to be highly effective. For derivative instruments that are designated and qualify as cash flow hedges, the entire change in fair value of the hedging instrument is recorded to Other comprehensive income (loss). Upon settlement of these contracts, the change in the fair value recorded in Other comprehensive income (loss) are reclassified to earnings and included as part of Direct operating costs. For derivative instruments that are not designated as hedges, any change in fair value is recorded directly in earnings as part of Direct operating costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company formally documents all relationships between hedging instruments and hedged items, as well as its risk management objective and strategy for undertaking hedge transactions. The Company does not hold or issue derivatives for trading purposes. All derivatives are recognized at their fair value and classified based on the instrument&#8217;s maturity date. The total notional amount for outstanding derivatives designated as hedges was $22.5 million and $10.5 million as of December 31, 2024 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table presents the fair value of derivative instruments included within the consolidated balance sheets as of December 31, 2024 and 2023 (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Derivatives designated as hedging instruments:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">Accrued expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 499</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:40.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 41</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The effect of foreign currency forward contracts designated as cash flow hedges on the consolidated statements of operations for the&#160;years ended December 31, 2024 and 2023 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net gain (loss) recognized in OCI<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (494)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 185</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss reclassified from accumulated OCI into income<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (58)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (221)</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net gain recognized in income<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:5pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">Net change in fair value of the effective portion classified into other comprehensive income (&#8220;OCI&#8221;)</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">Effective portion classified within direct operating costs.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">There were no ineffective portions for the period presented</span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">.</span></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 derivative instruments and hedging activities including, but not limited to, risk management strategies, non-hedging derivative instruments, assets, liabilities, revenue and expenses, and methodologies and assumptions used in determining the amounts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480237/815-40-50-5<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-5C<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 815<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/815/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_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491677744192">
<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_LineOfCreditFacilityAbstract', window );"><strong>Line of Credit</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_DebtDisclosureTextBlock', window );">Line of Credit</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><b style="font-weight:bold;">17.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Line of Credit</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">On April 4, 2023, the Company entered into a Credit Agreement (the &#8220;Credit Agreement&#8221;) with Wells Fargo Bank, National Association, as lender, and Innodata Inc., Innodata Synodex, LLC, Innodata docGenix, LLC and Agility PR Solutions LLC as co-borrowers. On July 21, 2023, Innodata Services, LLC signed a Joinder Agreement to join the Credit Agreement as a co-borrower. On August 5, 2024, the Company entered into a second amendment to the Credit Agreement (together with the Credit Agreement, the &#8220;Amended Credit Agreement&#8221;). The Amended Credit Agreement provides for a secured revolving line of credit (the &#8220;Revolving Credit Facility&#8221;) up to an amount equal to the lesser of the borrowing base and $30.0 million (the &#8220;Maximum Credit&#8221;) and provides that a Borrower may request an increase to the Revolving Credit Facility&#8217;s Maximum Credit of up to, but not to exceed $50.0 million, subject to the approval of the Lender. The Revolving Credit Facility&#8217;s borrowing base is calculated on the basis of (i) 85% of eligible accounts (other than eligible foreign accounts and unbilled accounts), plus (ii) the lesser of (a) 80% of eligible accounts that are unbilled accounts and (b) 30% of all eligible accounts, plus (iii) the lesser of (a) 85% of eligible foreign accounts, (b) 20% of all eligible accounts and (c) $4.0 million, minus (iv) certain other reserves and adjustments. As of December 31, 2024, such borrowing base calculation equaled approximately $22.3 million. The Credit Agreement contains a financial covenant that requires the Borrowers, on a consolidated basis, to maintain a fixed charge coverage ratio of not less than 1.10 to 1.00. Except as set forth in the Credit Agreement, borrowings under the Revolving Credit Facility bear interest at a rate equal to the daily simple secured overnight financing rate (&#8220;<span style="-sec-ix-hidden:Hidden_ZzADL070F0SbmOl_6h7B7w;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">SOFR</span></span>&#8221;) plus 2.25%. The Company did not utilize the Revolving Credit Facility during the year ended December 31, 2024 or during the subsequent period through the filing date of this Report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.</p></div>
<a href="javascript: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/2003/role/disclosureRef<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/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-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 1B<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<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(c))<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 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/470/tableOfContent<br><br>Reference 11: 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><br>Reference 12: 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> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 13: 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 (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 14: 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 (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1C<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1C<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1C<br><br>Reference 18: 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1E<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1I<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1I<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_LineOfCreditFacilityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491677871120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pay vs Performance Disclosure - USD ($)<br> $ in Thousands</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</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">$ 28,660<span></span>
</td>
<td class="num">$ (908)<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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491668967984">
<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</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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491667667840">
<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_CybersecurityRiskManagementStrategyAndGovernanceLineItems', window );"><strong>Cybersecurity Risk Management, Strategy, and Governance [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_cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock', window );">Cybersecurity Risk Management Processes for Assessing, Identifying, and Managing Threats [Text Block]</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Cybersecurity Risk Management and Strategy</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We recognize the importance of developing, implementing and maintaining a firm cybersecurity posture to safeguard our information systems, protect the confidentiality, integrity and availability of our data and mitigate risks associated with cyber threats and attacks. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We are ISO/IEC 27001:2022 certified and the ISO Information Security Risk Management Standard is used as a reference guide for our risk management approach. We have a designated Chief Information Security Officer (CISO) who has primary responsibility for managing our cybersecurity risks. Our CISO has more than 28 years of experience in Information Security and holds a master&#8217;s degree in Information Technology. His in-depth knowledge and experience are instrumental in developing and executing our cybersecurity strategies. Our CISO is assisted by a team of Information Security Officers (ISOs) and a third-party consultant who has expertise in cybersecurity, information security risk management, and information systems audit and holds various certifications including, CISA, CISM, HITRUST Certified Common Security Framework Practitioner, QSA, and CSP.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Recognizing the inherent cybersecurity risks common to any organization, encompassing concerns such as unauthorized access to sensitive data, potential disruptions to business operations from cyber incidents, and the associated financial and reputational impacts arising from a cybersecurity breach, we have implemented comprehensive policies covering various aspects of cybersecurity and information management, including, without limitation, cyber risk management, information security practices, roles and responsibilities, access controls, cryptography, information classification, asset disposal, and vendor management. We periodically review and modify these policies to align with industry practice, trends and evolving threat landscapes. Compliance with these policies is expected from all employees and contractors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We perform periodic assessments for identifying threats and vulnerabilities, covering relevant operational facets, and focusing on identifying, analyzing, evaluating, and treating cyber risks across business functions. Our risk assessment guidelines define risk measurement and prioritization, and consider factors such as likelihood, impact, and potential harm. Mitigation strategies are planned, covering technical and procedural measures, including incident response plans.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Incident Response</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We maintain a comprehensive incident response plan. Key components include regular updates to ensure effectiveness, employee training programs, and establishing communication channels and relevant systems for proper incident reporting and logging procedures. Communication and notification protocols are defined for notifying third parties such as regulatory bodies, customers, and partners. Recovery strategies are developed for restoring normal operations, and post-incident analysis is conducted to identify lessons learned and improvements for future incident response efforts. The incident response plan also outlines procedures for prompt detection, response, and remediation efforts to minimize the impact of incidents. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Incident materiality is assessed through a collaborative process involving key personnel within our organization. Responsibility for conducting a materiality assessment lies with our management team, in consultation with advice from our third-party cybersecurity consultant, as appropriate. The materiality assessment considers various factors, including financial impact, reputational risk, regulatory implications, and potential harm to third parties. Upon completion of the materiality assessment, the disclosure of incidents, including those related to contractual, regulatory, or technology/security aspects, is handled by designated members of our senior management team. We consult with outside counsel or experts as appropriate, including on materiality analysis and disclosure matters.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">As of the fiscal year ending December 31, 2024, there have been no identified cybersecurity incidents that have materially affected or are reasonably likely to materially affect us, including our business strategy, results of operations or financial condition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Engagement of Third Parties</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Recognizing the complexity and evolving nature of cybersecurity threats, we have engaged a third-party consultant to assist with evaluating and testing our risk management approach. This enables us to leverage specialized knowledge and insights in connection with our cybersecurity strategies and processes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Strategy</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">To enhance our current cybersecurity posture, we continue to invest in advanced threat detection technologies, provide cybersecurity training based on the latest trends and guidance to the employees, collaborate with industry partners and regulatory bodies to stay informed about emerging threats, reinforce our cybersecurity incident response plan to align with industry-specific regulations and legal obligations, integrate threat intelligence feeds for automatic detection of any misconfigurations, security threats, and foster a collaborative, cross-functional, and accelerated approach to incident response.</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_cyd_CybersecurityRiskManagementProcessesIntegratedFlag', window );">Cybersecurity Risk Management Processes Integrated [Flag]</a></td>
<td class="text">true<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_CybersecurityRiskManagementProcessesIntegratedTextBlock', window );">Cybersecurity Risk Management Processes Integrated [Text Block]</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The governance framework is closely integrated via a structured compliance reporting framework operating across various governance levels. This framework also operates across geographic locations, with location specific compliance meetings conducted at a local management level and led by the CISO with assistance from the ISO team. This structured compliance reporting is intended to ensure that the highest levels of management are kept abreast of potential cybersecurity risks facing the Company, with the escalation of significant cybersecurity matters to the Audit Committee and ultimately to the Board of Directors, as appropriate.</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_cyd_CybersecurityRiskManagementThirdPartyEngagedFlag', window );">Cybersecurity Risk Management Third Party Engaged [Flag]</a></td>
<td class="text">true<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_CybersecurityRiskThirdPartyOversightAndIdentificationProcessesFlag', window );">Cybersecurity Risk Third Party Oversight and Identification Processes [Flag]</a></td>
<td class="text">true<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"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our Board of Directors is aware of the critical nature of managing the risks associated with cybersecurity threats. The Board of Directors has established oversight mechanisms to ensure effective governance in managing these risks.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Board of Director Oversight</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our Audit Committee has primary responsibility for overseeing risk management, including with respect to cybersecurity. The Audit Committee monitors management&#8217;s compliance, and reports to the Board of Directors. The CISO, who is responsible for developing our cybersecurity strategy and managing our cybersecurity risks, reports directly to the Audit Committee on these matters.</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_cyd_CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock', window );">Cybersecurity Risk Board Committee or Subcommittee Responsible for Oversight [Text Block]</a></td>
<td class="text">Audit Committee<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_CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock', window );">Cybersecurity Risk Process for Informing Board Committee or Subcommittee Responsible for Oversight [Text Block]</a></td>
<td class="text">Our Audit Committee has primary responsibility for overseeing risk management, including with respect to cybersecurity. The Audit Committee monitors management&#8217;s compliance, and reports to the Board of Directors.<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_CybersecurityRiskRoleOfManagementTextBlock', window );">Cybersecurity Risk Role of Management [Text Block]</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Management&#8217;s Role</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our cybersecurity governance framework incorporates policies, procedures, regular meetings, and controls to manage and mitigate cybersecurity risks. Aligned with industry standards and regulatory requirements, the framework is overseen and regularly evaluated by our leadership team responsible for implementation. Regular risk assessments are conducted to identify and assess potential cybersecurity risks, informing the development of proactive risk mitigation strategies within the governance framework.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The governance framework is closely integrated via a structured compliance reporting framework operating across various governance levels. This framework also operates across geographic locations, with location specific compliance meetings conducted at a local management level and led by the CISO with assistance from the ISO team. This structured compliance reporting is intended to ensure that the highest levels of management are kept abreast of potential cybersecurity risks facing the Company, with the escalation of significant cybersecurity matters to the Audit Committee and ultimately to the Board of Directors, as appropriate.</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_cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag', window );">Cybersecurity Risk Management Positions or Committees Responsible [Flag]</a></td>
<td class="text">true<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_CybersecurityRiskManagementPositionsOrCommitteesResponsibleTextBlock', window );">Cybersecurity Risk Management Positions or Committees Responsible [Text Block]</a></td>
<td class="text">Chief Information Security Officer (CISO)<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_CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock', window );">Cybersecurity Risk Management Expertise of Management Responsible [Text Block]</a></td>
<td class="text">Our CISO has more than 28 years of experience in Information Security and holds a master&#8217;s degree in Information Technology. His in-depth knowledge and experience are instrumental in developing and executing our cybersecurity strategies.<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_CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock', window );">Cybersecurity Risk Process for Informing Management or Committees Responsible [Text Block]</a></td>
<td class="text">We have a designated Chief Information Security Officer (CISO) who has primary responsibility for managing our cybersecurity risks. Our CISO has more than 28 years of experience in Information Security and holds a master&#8217;s degree in Information Technology. His in-depth knowledge and experience are instrumental in developing and executing our cybersecurity strategies. Our CISO is assisted by a team of Information Security Officers (ISOs) and a third-party consultant who has expertise in cybersecurity, information security risk management, and information systems audit and holds various certifications including, CISA, CISM, HITRUST Certified Common Security Framework Practitioner, QSA, and CSP.The CISO, who is responsible for developing our cybersecurity strategy and managing our cybersecurity risks, reports directly to the Audit Committee on these matters.<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_CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag', window );">Cybersecurity Risk Management Positions or Committees Responsible Report to Board [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_CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock</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_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_CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock</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_CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 iii<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 iii<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag</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_CybersecurityRiskManagementPositionsOrCommitteesResponsibleTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_CybersecurityRiskManagementPositionsOrCommitteesResponsibleTextBlock</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_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_CybersecurityRiskManagementProcessesIntegratedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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> -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 b<br> -Paragraph 1<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_CybersecurityRiskManagementProcessesIntegratedFlag</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_CybersecurityRiskManagementProcessesIntegratedTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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> -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 b<br> -Paragraph 1<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_CybersecurityRiskManagementProcessesIntegratedTextBlock</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_CybersecurityRiskManagementStrategyAndGovernanceLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_CybersecurityRiskManagementStrategyAndGovernanceLineItems</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_CybersecurityRiskManagementThirdPartyEngagedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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> -Subparagraph ii<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> -Subparagraph ii<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_CybersecurityRiskManagementThirdPartyEngagedFlag</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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cyd_CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock</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_CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 ii<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 ii<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock</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_CybersecurityRiskRoleOfManagementTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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><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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_CybersecurityRiskRoleOfManagementTextBlock</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_CybersecurityRiskThirdPartyOversightAndIdentificationProcessesFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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> -Subparagraph iii<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> -Subparagraph iii<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_CybersecurityRiskThirdPartyOversightAndIdentificationProcessesFlag</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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491668125152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Description of Business and Summary of Significant Accounting Estimates and 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>Description of Business and Summary of Significant Accounting Estimates and Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationsPolicy', window );">Description of Business</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Description of Business</b> - Innodata Inc. (Nasdaq: INOD) (including its subsidiaries, the &#8220;Company&#8221;, &#8220;Innodata&#8221;, &#8220;we&#8221;, &#8220;us&#8221; or &#8220;our&#8221;) is a leading data engineering company. The Company&#8217;s mission is to help the world&#8217;s most prestigious companies deliver the promise of ethical, high-performing artificial intelligence (&#8220;AI&#8221;), which the Company believes will contribute to a safer and more prosperous world.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company was founded on a simple idea: engineer the highest quality data so organizations across broad industry segments could make smarter decisions. Today, the Company believes it is delivering the highest quality data for some of the world&#8217;s most innovative technology companies to use to train the AI models of the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">AI holds the promise that computers can perceive and understand the world, enabling products and services that would have been previously unimaginable and impossible with traditional coding. AI learns from data, and the highest-performing AI will have learned from the highest-quality data. The Company believes that it can contribute meaningfully by harnessing its capabilities, honed over 35+ years, in collecting and annotating data at scale with consistency and high accuracy.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company is also helping companies deploy and integrate AI into their operations and products and providing innovative AI-enabled industry platforms, helping ensure that its customers&#8217; businesses are prepared for a world in which machines augment human activity in ways previously unimaginable. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company developed its capabilities and honed its approaches progressively over the last 35+ years creating high-quality data for many of the world&#8217;s most demanding information companies. Approximately nine years ago, the Company formed Innodata Labs, a research and development center, to research, develop and apply machine learning and emerging AI to its large-scale, human-intensive data operations. In 2019, the Company began packaging the capabilities that emerged from its R&amp;D efforts in order to align with several fast-growing new markets and help companies use AI/ML to drive performance benefits and business insights.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s historical core competency in high-quality data, combined with these R&amp;D efforts in applied AI, created the foundation for the evolution of the Company&#8217;s offerings, which include AI Data Preparation, AI Model Deployment and Integration, and AI-Enabled Industry Platforms.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">AI Data Preparation</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For several of the world&#8217;s large technology companies, the Company supports their efforts at building generative AI foundation models. For these companies, the Company provides or is poised to provide a range of scaled data solutions and services. The Company&#8217;s scaled data solutions include providing instruction data sets for fine-tuning LLMs to understand prompts, to accept instruction, to converse, to apparently reason, and to perform the myriad of incredible feats that many of us have now experienced. The Company also provides reinforcement learning and reward modeling, services which are critical to provide the guardrails against toxic, bias and harmful responses, and model evaluation services. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For social media companies, financial services companies, and many others, the Company collects or creates training data, annotates training data, and trains AI algorithms for working with images, text, video, audio, code and sensor data. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company utilizes a variety of leading third-party tools, proprietary tools and customer tools. For text annotation, the Company uses its proprietary data annotation platform that incorporates AI to reduce cost while improving consistency and quality of output. The Company&#8217;s proprietary data annotation platform features auto-tagging capabilities that apply to both classical and generative AI tasks. The platform encapsulates many of the innovations the Company has conceived of in the course of its 35-year history of creating high-quality data.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In addition, because collecting real-world data is often impracticable (due to data privacy regulations or rarity of cohorts and outliers), the Company creates high-quality synthetic data that maintains all of the statistical properties of real-world data, using a combination of domain specialists and machine technologies that leverage large language models (LLMs).</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">AI Model Deployment and Integration</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company helps businesses leverage the latest AI technologies to achieve their goals. The Company develops custom AI models (where it selects the appropriate algorithms, tunes hyperparameters, trains and validates the models, and updates the models as required). The Company also helps businesses fine-tune their own custom versions of the Company&#8217;s proprietary models and third-party foundation models to address domain-specific and customer-specific use cases.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For the Company&#8217;s customers that provide products and solutions that require intensive text data processing and analytics, in addition to deploying and integrating AI models, the Company often provides a range of data engineering support services including data transformation, data curation, data hygiene, data consolidation, data extraction, data compliance, and master data management.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s customers span a diverse range of industries and a wide range of AI use cases, benefiting from the short time-to-value and high economic returns of the Company&#8217;s AI solutions and platforms.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">AI-Enabled Industry Platforms</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s AI-enabled industry platforms address specific, niche market requirements the Company believes it can innovate with AI/ML technologies. The Company deploys these industry platforms as software-as-a-service (SaaS) and as managed services. These platforms benefit from the Company&#8217;s technology infrastructure, its industry-specific knowledge, its strong customer relationships and experience merging technology with the business processes of its customers. To date, the Company has built an industry platform for medical records data extraction and transformation (which the Company brands as &#8220;Synodex<sup style="font-size:8.25pt;line-height:100%;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;top:0pt;vertical-align:top;">&#174;</sup>&#8221;) and an industry platform for public relations (which the Company brands as &#8220;Agility PR Solutions&#8221;). The Company is in development with an additional AI-enabled industry platform to serve financial services institutions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s Synodex industry platform transforms medical records into useable digital data organized in accordance with its proprietary data models or customer data models. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s Agility industry platform provides marketing communications and public relations professionals with the ability to target and distribute content to journalists and social media influencers world-wide and to monitor and analyze global news (print, web, radio and TV) and social media.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s operations are presently classified and reported in three reporting segments: Digital Data Solutions (DDS), Synodex and Agility.</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_ConsolidationPolicyTextBlock', window );">Principles of Consolidation</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Principles of Consolidation </b>-<b style="font-weight:bold;"> </b>The consolidated financial statements include the accounts of Innodata Inc. and its wholly owned subsidiaries, and Innodata docGenix, LLC, a limited liability company that was majority-owned by the Company during the year ended December 31, 2024. The minority interests of Innodata docGenix, LLC were redeemed by the Company on December 31, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The non-controlling interests in the docGenix limited liability company at December 31, 2023 had call and put options that can be settled in cash or stock. Accordingly, this is presented in temporary equity in accordance with Financial Accounting Standards Board (FASB) non-controlling interest guidance. All intercompany transactions and balances have been eliminated in consolidation.</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 style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Use of Estimates&#160;</b>- In preparing consolidated financial statements in conformity with U.S. GAAP, management is required to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities as of the date of the consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. Management believes that the estimates and assumptions used in the preparation of the consolidated financial statements are reasonable. Actual results could differ from those estimates. Significant estimates include those related to the allowance for credit losses and billing adjustments, useful life of long-lived assets, useful life of intangible assets, impairment of goodwill and intangible assets, valuation of deferred tax assets, valuation of stock-based compensation, pension benefit plan assumptions, litigation accruals and estimated accruals for various tax exposures.</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_RevenueRecognitionPolicyTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Revenue Recognition&#160;</b>- The Company&#8217;s revenue is recognized when services are rendered or goods are delivered to a customer, in an amount that reflects the consideration that the Company expects to receive in exchange for those services or goods as per the agreement with the customer. In cases where there are agreements with multiple performance obligations, the Company identifies each performance obligation and evaluates whether the performance obligations are distinct within the context of the agreement at the agreement&#8217;s inception. Performance obligations that are not distinct at agreement inception are combined. For agreements with distinct performance obligations, the Company allocates the transaction price to each distinct performance obligation proportionately based on the estimated standalone selling price for each performance obligation, if any, and then evaluates how the services are performed for the customer to determine the timing of revenue recognition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For the Digital Data Solutions (DDS) segment, revenue is recognized primarily based on the quantity delivered or resources utilized in the period in which services are performed and performance conditions are satisfied as per the agreement. Revenue from agreements billed on a time-and-materials basis is recognized as services are performed. Revenue from fixed-fee agreements, which is not significant to overall revenues, is recognized based on the proportional performance method of accounting, as services are performed, or milestones are achieved.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For the Synodex segment, revenue is recognized primarily based on the quantity delivered in the period in which services are performed and performance conditions are satisfied as per the agreement. A portion of the Synodex segment revenue is derived from licensing the Company&#8217;s functional software and providing access to the Company&#8217;s hosted software platform. Revenue from such services is recognized monthly when all parties to the agreement have agreed to the agreement; each party&#8217;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; access to the service is provided to the end user; and collection is probable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Agility segment derives its revenue primarily from subscription arrangements and provision of enriched media analysis services. It also derives revenue as a reseller of corporate communication solutions. Revenue from subscriptions is recognized monthly when access to the service is provided to the end user; all parties to the agreement have agreed to the agreement; each party&#8217;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; and collection is probable. Revenue from enriched media analysis services is recognized when the services are performed, and performance conditions are satisfied. Revenue from the reseller agreements is recognized at the gross amount received for the goods in accordance with the Company functioning as a principal due to the Company meeting the following criteria: the Company acts as the primary obligor in the sales transaction; assumes the credit risk; sets the price; can select suppliers; and is involved in the execution of the services, including after sales service.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Revenue associated with the services provided in one period and billed in a subsequent period is commonly referred to as unbilled revenues and is included under Accounts receivable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company considers U.S. GAAP criteria for determining whether to report gross revenue as a principal versus net revenue as an agent. The Company evaluates whether it is in control of the services before the same are transferred to the customer to assess whether it is principal or agent in the arrangement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Contract acquisition costs, which are included in prepaid expenses and other current assets, are amortized over the term of a subscription agreement or contract that normally has a duration of 12 months or less. The Company reviews these prepaid acquisition costs on a periodic basis to determine the need to adjust the carrying values for early terminated contracts. Included in prepaid expenses and other current assets on the accompanying consolidated balance sheets are contract acquisition costs amounting to $1.1 million and $0.8 million for the years ended December 31, 2024 and 2023 , respectively. These acquisition costs relate to our Agility segment and are amortized using the straight-line method over the term of the subscription agreement.</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 Translation</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Foreign Currency Translation&#160;</b>- The functional currency of the Company&#8217;s subsidiaries in the Philippines, India, Sri Lanka, Israel, Hong Kong, the U.K. and Canada (other than the Agility subsidiaries) is the U.S. dollar. Transactions denominated in Philippine pesos, Indian and Sri Lankan rupees, Israeli shekels, U.K. pound sterling and Canadian dollars are translated to U.S. dollars at rates which approximate those in effect on the transaction dates. Monetary assets and all liabilities denominated in foreign currencies on December 31, 2024 and December 31, 2023 are translated at the exchange rate in effect as of those dates. Non-monetary assets and stockholders&#8217; equity are translated at the appropriate historical rates. Included in direct operating costs were foreign exchange (gains) losses resulting from such translations of approximately ($0.2) million and $0.4 million for the&#160;years ended December 31, 2024 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The functional currency for the Company&#8217;s subsidiary in Germany is the Euro. The functional currencies for the Company&#8217;s Agility subsidiaries in the U.K. and Canada are the Pound Sterling and the Canadian dollar, respectively. The financial statements of these subsidiaries are prepared in their respective currencies. Financial information is translated from the applicable functional currency to the U.S. dollar (the reporting currency) for inclusion in the Company&#8217;s consolidated financial statements. Income, expenses, and cash flows are translated at weighted-average exchange rates prevailing during the fiscal period, and assets and liabilities are translated at fiscal period-end exchange rates. Resulting translation adjustments are included as a component of accumulated other comprehensive income loss in stockholders&#8217; equity. Foreign exchange transaction gains or losses are included in direct operating costs in the accompanying consolidated statements of operations and comprehensive income.</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_DerivativesPolicyTextBlock', window );">Derivative Instruments</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:12.0pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Derivative Instruments&#160;- </b>The Company accounts for derivative transactions in accordance with the FASB&#8217;s Accounting Standards Codification (&#8220;ASC&#8221;) Topic 825, &#8220;Financial Instruments&#8221;. For derivative instruments that are designated and qualify as cash flow hedges, the entire change in fair value of the hedging instrument is recorded in Other comprehensive income (loss). When the amounts recorded in Other comprehensive income (loss) are reclassified to earnings, they are included as part of Direct operating costs. For derivative instruments that are not designated as hedges, any change in fair value is recorded directly in earnings as part of Direct operating costs. The total notional value of designated outstanding foreign currency forward contracts was $22.5 million and $10.5 million as of December 31, 2024 and 2023, respectively.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock', window );">Cash Equivalents</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Cash Equivalents&#160;- </b>For financial statement purposes, the Company considers all highly liquid instruments purchased with an original maturity of three&#160;months or less to be cash equivalents.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentPolicyTextBlock', window );">Short term Investments-other</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Short term Investments-other&#160;- </b>For financial statement purposes, the Company considers investments made in time deposits and treasury bills having an original maturity of more than three months but less than one year from the balance sheet date under short term investments.</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 );">Concentration of Credit Risk</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Concentration of Credit Risk&#160;-</b> The Company maintains its cash with highly rated financial institutions, located in the United States and in foreign locations where the Company has its operations. At December 31, 2024, the Company had cash and cash equivalents of $46.9 million, of which $17.9 million was held by its foreign subsidiaries and $29.0 million was held in the United States. To the extent that such cash exceeds the maximum insurance levels, the Company is uninsured. The Company has not experienced any losses in such accounts.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TradeAndOtherAccountsReceivablePolicy', window );">Accounts Receivable</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Accounts Receivable&#160;-</b> Accounts receivable is generally recorded at the invoiced amounts, net of an allowance for expected losses. The Company establishes credit terms for new customers based upon management&#8217;s review of their credit information and project terms, and performs ongoing credit evaluations of its customers, adjusting credit terms when management believes appropriate based upon payment history and an assessment of the customer&#8217;s current creditworthiness.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We record an allowance for credit losses for estimated losses resulting from the failure of our customers to make the required payments and provisions for billing adjustments relating to quality issues on delivered services. The allowance for credit losses is based on a review of specifically identified accounts and an overall aging analysis applied to accounts pooled based on similar risk characteristics. Judgments are made with respect to the collectability of accounts receivable within each pool based on historical experience, current payment practices, and current economic trends based on our expectations over the expected life of the receivables, generally ninety days or less. Actual credit losses could differ from those estimates.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property and Equipment</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Property and Equipment</b>&#160;<b style="font-weight:bold;">- </b>Property and equipment are stated at cost and are depreciated on the straight-line method over the estimated useful lives of the related assets, which is generally <span style="-sec-ix-hidden:Hidden_JBYbhKVqzEGL0mHdEk0dxw;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">two</span></span> to <span style="-sec-ix-hidden:Hidden_hPmr4tYES0iTF5TyWe2ahg;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">ten years</span></span>. Leasehold improvements are amortized on a straight-line basis over the shorter of their estimated useful lives or the terms of the leases. Certain assets under capital leases are amortized over the lives of the respective leases or the estimated useful lives of the assets, whichever is shorter.</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_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock', window );">Capitalized Developed Software</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Capitalized Developed Software - </b>The Company incurs development costs related to software it develops for its internal use. Qualifying costs incurred during the application development stage are capitalized. These costs primarily consist of internal labor and third-party development costs and are amortized using the straight-line method over the estimated useful life of the capitalized developed software, which generally ranges from <span style="-sec-ix-hidden:Hidden_tEUnEellt0mU_k_YoZWk7Q;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">three</span></span> to ten years. All other research and maintenance costs are expensed as incurred. Capitalized developed software in progress as of December 31, 2024 and 2023 were $3.6 million and $3.5 million, respectively. The cumulative completed capitalized developed software as of December 31, 2024 and 2023 was $19.8 million and $15.2 million, respectively.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock', window );">Long-lived Assets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Long-lived Assets&#160;-</b> Management assesses the recoverability of its long-lived assets, whenever events or changes in circumstances indicate that the carrying value may not be recoverable. The following factors, if present, may trigger an impairment&#160;review: (i)&#160;significant&#160;underperformance relative to expected historical or projected future operating results; (ii)&#160;significant negative industry&#160;or&#160;economic&#160;trends; (iii)&#160;significant decline in the Company&#8217;s stock price&#160;for&#160;a&#160;sustained&#160;period;&#160;and&#160;(iv)&#160;a&#160;change&#160;in the Company&#8217;s market capitalization relative to net book value. If the recoverability of these assets is unlikely because&#160;of&#160;the&#160;existence&#160;of one or more of the above-mentioned factors, an&#160;impairment analysis is performed, using undiscounted cash flow&#160;projections. Management makes assumptions regarding estimated future cash flows and other factors to determine the fair value of these respective assets. An impairment loss will be recognized only if the carrying value of a long-lived asset is not recoverable and exceeds its fair value and is measured as the amount by which the carrying amount of a long-lived asset exceeds its fair value.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock', window );">Goodwill and Other Intangible Assets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Goodwill and Other Intangible Assets</b>&#160;<b style="font-weight:bold;">- </b>The Company performs a valuation of assets acquired and liabilities assumed on each acquisition accounted for as a business combination and allocates the purchase price of each acquired business to its respective net tangible and intangible assets and liabilities. Acquired intangible assets principally consist of technology, customer relationships, backlog and trademarks, having useful lives which range from <span style="-sec-ix-hidden:Hidden_GyFyEVe85kuWxhzAdg74oA;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">ten</span></span> to twelve years. The Company determines the appropriate useful life by performing an analysis of expected cash flows based on projected financial information of the acquired businesses. Intangible assets are amortized over their estimated useful lives using the straight-line method, which approximates the pattern in which the majority of the economic benefits are expected to be consumed. Intangible assets are amortized into direct operating costs ratably over their expected related revenue streams over their useful lives.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Goodwill represents the excess of the cost of an acquired entity over the fair value of the acquired net assets. The Company does not amortize goodwill but evaluates it for impairment at the reporting unit level annually during the third quarter of each fiscal&#160;year (as of September&#160;30 of that year) or when an event occurs, or circumstances change, that indicates the carrying value may not be recoverable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company performed its annual goodwill assessment for the Agility segment as of September 30, 2024 for impairment. The impairment test involves estimating the fair value based on a combination of income (estimates of future discounted cash flows) and the market approach (market multiples for similar companies) using unobservable inputs (Level 3). The Company concluded that there is no impairment of goodwill for the Agility segment.</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_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Income Taxes&#160;</b>- Estimated deferred taxes are determined based on the difference between the financial statement and tax basis of assets and liabilities, using enacted tax rates, as well as any net operating loss or tax credit carryforwards expected to reduce taxes payable in future&#160;years. A valuation allowance is provided when it is more likely than not that all or some portion of the estimated deferred tax assets will not be realized. While the Company considers future taxable income in assessing the need for the valuation allowance, in the event that the Company anticipates that it will be able to realize the estimated deferred tax assets in the future in excess of its net recorded amount, an adjustment to the provision for deferred tax assets would increase income in the period such determination was made. Similarly, in the event that the Company anticipates that it will not be able to realize the estimated deferred tax assets in the future considering future taxable income, an adjustment to the provision for deferred tax assets would decrease income in the period such determination was made. Changes in the valuation allowance from period to period are included in the Company&#8217;s tax provision in the period of change. The Company indefinitely reinvests the foreign earnings in its foreign subsidiaries. If such earnings are repatriated in the future, or are no longer deemed to be indefinitely reinvested, the Company would have to accrue as a liability the applicable amount of foreign jurisdiction withholding taxes associated with such remittances.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In assessing the realization of deferred tax assets, management considered whether it is more likely than not that all or some portion of the deferred tax assets of entities in the U.S., Canada, Germany and the U.K. will be realizable or not.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s assessment for the U.S. and the U.K. entities during the year ended December 31, 2024 yielded positive evidence enabling the release of the valuation allowance for the U.S. and the U.K. deferred tax assets under &#8220;ASC Topic 740-10-30-22 &#8211; Accounting for Income Taxes&#8221;.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">As the expectation of future taxable income of the Canadian and German entities cannot be predicted with reasonable accuracy, the Company maintains a valuation allowance against the deferred tax assets of these entities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company accounts for income taxes regarding uncertain tax positions, and recognizes interest and penalties related to uncertain tax positions in income tax expense in the consolidated statements of operations and comprehensive income.</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_LessorLeasesPolicyTextBlock', window );">Accounting for Leases</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Accounting for Leases&#160;</b>-<b style="font-weight:bold;"> </b>Accounting Standards for Codifications (ASC 842 &#8220;Accounting for Leases&#8221;) requires lessees to recognize most leases on their balance sheets as liabilities, with corresponding &#8220;right-of-use&#8221; assets. The Company recognizes a right-of-use asset and corresponding lease liability for all its operating leases. See Note 8, Operating Leases.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The determination of whether an arrangement is, or contains, a lease is based on the substance of the arrangement at the inception date and requires an assessment of whether the fulfillment of the arrangement is dependent on the use of a specific asset or assets, or the arrangement conveys a right to use the asset. A reassessment is made after inception of the lease only if one of the following applies:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">a.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">there is a change in contractual terms, other than a renewal or extension of the arrangement; </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">b.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">a renewal option is exercised, or extension granted, unless the term of the renewal or extension was initially included in the lease term; </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">c.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">there is a change in the determination of whether fulfillment is dependent on a specified asset; or </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">d.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">there is a substantial change to the asset. </span></td></tr></table><div style="margin-top:10pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Whenever a reassessment is made, lease accounting shall commence or cease from the date when the change in circumstances gave rise to the reassessment for scenarios (a), (c) or (d) and at the date of renewal or extension period for scenario (b).</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Leases where the lessor retains substantially all the risks and rewards of ownership are classified as operating leases. As of December 31, 2024, all of the Company&#8217;s leases are classified under operating leases. Operating lease payments are recognized as an operating expense on a straight-line basis over the lease term.</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_ShareBasedCompensationOptionAndIncentivePlansPolicy', window );">Accounting for Stock-Based Compensation</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Accounting for Stock-Based Compensation&#160;-</b> The Company measures and recognizes stock-based compensation expense for all share-based payment awards made to employees and directors based on the estimated fair value at the grant date. The stock-based compensation expense is recognized over the requisite service period. The fair value of stock option grants is determined using the Black-Scholes option-pricing model and the fair value of restricted stock units is determined using the Binomial option pricing model. For restricted stock units which are time vested, the fair value is determined based on the grant date fair value.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The stock-based compensation expense related to the Company&#8217;s stock plans were allocated as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:61.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:61.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:35.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year&#160;Ended&#160;December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:61.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:61.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Direct operating costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 281</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 294</p></td></tr><tr><td style="vertical-align:bottom;width:61.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Selling and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,717</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,733</p></td></tr><tr><td style="vertical-align:bottom;width:61.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,998</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,027</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueOfFinancialInstrumentsPolicy', window );">Fair Value of Financial Instruments</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Fair Value of Financial Instruments&#160;</b>- The carrying amounts of financial instruments approximated their fair value as of December 31, 2024 and 2023, because of the relatively short maturity of these instruments. See Note&#160;16, Derivatives.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Fair value measurements and disclosures define fair value as the 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.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The accounting standard establishes a fair value hierarchy that prioritizes the inputs used to measure fair value into three levels. The three levels are defined as follows:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;">Level 1</i><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">: Unadjusted quoted price in active market for identical assets and liabilities.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;">Level 2:</i><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> Inputs other than those included in Level 1 that are observable for the asset or liability, 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></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;">Level 3:</i><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> Unobservable inputs reflecting management&#8217;s own assumptions about the inputs used in pricing the asset or liability.</span></td></tr></table><div style="margin-top:10pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s forward contracts are at level 2 in the fair value hierarchy.</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_EarningsPerSharePolicyTextBlock', window );">Income (Loss) per Share</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Income (Loss) per Share&#160;</b>- Income (loss) per share is computed using the weighted-average number of common shares outstanding during the&#160;year. Diluted income (loss) per share is computed by considering the impact of the potential issuance of common shares, using the treasury stock method, on the weighted average number of shares outstanding. For those securities that are not convertible into a class of common stock, the &#8220;two class&#8221; method of computing income (loss) per share is used.</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_PensionAndOtherPostretirementPlansPensionsPolicy', window );">Pension</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Pension&#160;- </b>The Company records annual pension costs based on calculations, which include various actuarial assumptions including discount rates, compensation increases and other assumptions involving demographic factors. The Company reviews its actuarial assumptions on an annual basis and makes modifications to the assumptions based on current rates and trends. The Company believes that the assumptions used in recording its pension obligations are reasonable based on its experience, market conditions and inputs from its actuaries.</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_RevenueFromContractWithCustomerPolicyTextBlock', window );">Deferred Revenue</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Deferred Revenue&#160;</b>- Deferred revenue represents payments received from customers in advance of providing services and amounts deferred if conditions for revenue recognition have not been met. We expect to recognize substantially all of these performance obligations over the next 12 months. The balance of deferred revenues in the consolidated balance sheets amounted to $8.0 million and $3.5 million as of December 31, 2024 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The table below provides information about contract liabilities (deferred revenue) and the significant changes in the balance for the years ended December 31, 2024 and 2023, respectively (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at the beginning of year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,523</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,366</p></td></tr><tr><td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net deferred revenue in the period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,577</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,619</p></td></tr><tr><td style="vertical-align:bottom;width:70.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Revenue recognized</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (22,896)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (22,586)</p></td></tr><tr><td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Currency translations and other adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (194)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 124</p></td></tr><tr><td style="vertical-align:bottom;width:70.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at the end of year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,010</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,523</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recently Adopted Accounting Pronouncements</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Recently Adopted Accounting Pronouncements&#160;- </b>On November 27, 2023, the FASB issued Accounting Standards Update (ASU) No. 2023-07, &#8220;Improvements to Reportable Segment Disclosures,&#8221;. The ASU&#8217;s effective date is for fiscal years beginning after December 15, 2023. The adoption of the ASU 2023-07 will enhance expense disclosures in segment reporting and other qualitative disclosures and allows for disclosing multiple measures of segment profit or loss. The Company has adopted this standard and complied with the required disclosures. See Note 14, Segment reporting and concentrations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Recently Issued Accounting Pronouncements Not Yet Adopted - </b>On December 14, 2023, the FASB issued ASU No. 2023-09, &#8220;Income Taxes (Topic 740): Improvements to Income Tax Disclosures&#8221;. The ASU&#8217;s effective date is for fiscal years beginning after December 15, 2024 with early adoption permitted. The adoption of the ASU 2023-09 will enhance quantitative and qualitative disclosures related to rate reconciliation of significant components and income tax paid. We are currently evaluating the impact of the ASU on our disclosures within the consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">In November 2024, the FASB issued ASU 2024-03, &#8220;Income Statement - Reporting Comprehensive Income - Expense Disaggregation Disclosures (Subtopic 220-40): Disaggregation of Income Statement Expenses&#8221;. ASU No. 2024-03 does not change or remove existing expense disclosure requirements but requires disaggregated disclosures about certain expense categories and captions, including but not limited to, purchases of inventory, employee compensation, depreciation, amortization and selling expenses. ASU No. 2024-03 will become effective for us in fiscal 2027 and in the first quarter of fiscal 2028 for interim reporting. Early adoption is permitted. We are currently evaluating the impact of the ASU on our disclosures within the consolidated financial statements.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy.</p></div>
<a href="javascript: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 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479515/805-10-05-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479515/805-10-05-4<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479515/805-10-05-4<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479515/805-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_BusinessCombinationsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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_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_ConsolidationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<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/2147483426/235-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-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_ConsolidationPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 its derivative instruments and hedging 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 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 815<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-2<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 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(n))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-1A<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-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_DerivativesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueOfFinancialInstrumentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for determining the fair value of financial instruments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 825<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueOfFinancialInstrumentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_InvestmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for investment in financial asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(3)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(f)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(f)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(f)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 12<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-12<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 19<br> -Subparagraph (2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-19<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LessorLeasesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 arrangements entered into by lessor.</p></div>
<a href="javascript: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 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479773/842-30-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3A<br> -Subparagraph (a)<br> -SubTopic 30<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479773/842-30-50-3A<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3A<br> -Subparagraph (b)<br> -SubTopic 30<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479773/842-30-50-3A<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -SubTopic 30<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479773/842-30-50-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_LessorLeasesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_PensionAndOtherPostretirementPlansPensionsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 pension plans. This accounting policy may address (1) the types of plans sponsored by the entity (2) groups that participate in (or are covered by) each plan (3) how plan assets, liabilities and expenses are measured, including the use of any actuaries and (4) significant assumptions used by the entity to value plan assets and liabilities and how such assumptions are derived.</p></div>
<a href="javascript: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 715<br> -SubTopic 70<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480794/715-70-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 30<br> -Topic 715<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481097/715-30-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 80<br> -Topic 715<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480576/715-80-50-2<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 715<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PensionAndOtherPostretirementPlansPensionsPolicy</td>
</tr>
<tr>
<td style="padding-right: 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_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 research, development, and computer software activities, including contracts and arrangements to be performed for others and with federal government. Includes costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility and in-process research and development acquired in a business combination consummated 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 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/985-20/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<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/2147483041/730-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_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_RevenueRecognitionPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(1))<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/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 3: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRecognitionPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring 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 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://www.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 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 (f)(2)(ii)<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 (f)(2)(v)<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 S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.C.Q3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.1.Q5)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.3.Q2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.2.Q6)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 9: 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 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 (b)<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 (f)(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_ShareBasedCompensationOptionAndIncentivePlansPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TradeAndOtherAccountsReceivablePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-6<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481569/310-20-50-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-15<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-11B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TradeAndOtherAccountsReceivablePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-9<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-12<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491780993008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Description of Business and Summary of Significant Accounting Estimates and 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>Description of Business and Summary of Significant Accounting Estimates and Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock', window );">Schedule of stock-based compensation expense</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The stock-based compensation expense related to the Company&#8217;s stock plans were allocated as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:61.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:61.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:35.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year&#160;Ended&#160;December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:61.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:61.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Direct operating costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 281</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 294</p></td></tr><tr><td style="vertical-align:bottom;width:61.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Selling and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,717</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,733</p></td></tr><tr><td style="vertical-align:bottom;width:61.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,998</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,027</p></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_DeferredRevenueByArrangementDisclosureTextBlock', window );">Schedule of information about contract liabilities (deferred revenue)</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The table below provides information about contract liabilities (deferred revenue) and the significant changes in the balance for the years ended December 31, 2024 and 2023, respectively (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at the beginning of year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,523</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,366</p></td></tr><tr><td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net deferred revenue in the period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,577</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,619</p></td></tr><tr><td style="vertical-align:bottom;width:70.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Revenue recognized</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (22,896)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (22,586)</p></td></tr><tr><td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Currency translations and other adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (194)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 124</p></td></tr><tr><td style="vertical-align:bottom;width:70.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at the end of year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,010</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,523</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_DeferredRevenueByArrangementDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 type of arrangements and the corresponding amounts that comprise the current and noncurrent balance of deferred revenue as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenueByArrangementDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 cost recognized for award under share-based payment arrangement by plan. Includes, but is not limited to, related tax benefit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491667364464">
<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>Accounts Receivable</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock', window );">Schedule of accounts receivable</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt;">Accounts receivable consists of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">     </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Gross Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,772</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,505</p></td></tr><tr><td style="vertical-align:bottom;width:70.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,759)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,217)</p></td></tr><tr><td style="vertical-align:bottom;width:70.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,013</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,288</p></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_AccountsReceivableAllowanceForCreditLossTableTextBlock', window );">Schedule of activity in allowance for credit losses</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Activity in the allowance for the credit losses for the years ended December 31, 2024 and 2023 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:41.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:26.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For&#160;the&#160;Year&#160;Ended</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:26.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For&#160;the&#160;Year&#160;Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:26.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;December&#160;31,&#160;2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:26.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;December&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Balance at beginning of year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,217</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,213</p></td></tr><tr><td style="vertical-align:bottom;width:41.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Additions charged to expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 804</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 426</p></td></tr><tr><td style="vertical-align:bottom;width:41.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Write-offs against allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (256)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (426)</p></td></tr><tr><td style="vertical-align:bottom;width:41.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4</p></td></tr><tr><td style="vertical-align:bottom;width:41.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Balance at end of year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,759</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,217</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://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(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491677907600">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and equipment (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 and equipment</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 and equipment, which include amounts recorded under capital leases</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Property and equipment, which include amounts recorded under capital leases, are stated at cost less accumulated depreciation and amortization (in thousands), and consist of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,135</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,315</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Computer software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,480</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,465</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Furniture and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 951</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,128</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,554</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,547</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Capital work-in-progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 547</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 434</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,667</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,889</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Less: accumulated depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (16,566)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (17,608)</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,101</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,281</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491665464960">
<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</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_ScheduleOfGoodwillTextBlock', window );">Schedule of changes in carrying amount of goodwill</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The changes in the carrying amount of goodwill for the year ended December 31, 2024 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:84.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:84.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance - January 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,075</p></td></tr><tr><td style="vertical-align:bottom;width:84.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (77)</p></td></tr><tr><td style="vertical-align:bottom;width:84.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance - December 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,998</p></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_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock', window );">Schedule of Company's acquired intangible assets and capitalized developed software</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Information regarding the Company acquired intangible assets and capitalized developed software was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">     </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying&#160;Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,060</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,911)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 146</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,144</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,856)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (29)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 259</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trademarks and tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 862</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (826)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 36</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Patents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 44</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (44)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Media Contact Database</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,546</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (3,016)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 529</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 9,656</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (8,653)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (33)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 970</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Capitalized Developed Software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19,811</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10,507)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (463)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,841</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">Capitalized  Developed Software - in Progress</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,552</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,542</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 23,363</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (10,507)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (473)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 12,383</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 33,019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (19,160)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (506)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 13,353</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;background:#ffff00;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">     </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying&#160;Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">     <span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">     <span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">     <span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,999</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,640)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 366</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,096</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,645)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 461</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trademarks and tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 852</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (774)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 80</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Patents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 43</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (40)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Media Contact Database</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,492</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,621)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 16</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 887</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 9,482</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (7,720)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 35</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 1,797</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Capitalized Developed Software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,216</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (6,862)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 138</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,492</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">Capitalized  Developed Software - in Progress</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,480</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (11)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,469</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 18,696</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (6,862)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 127</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 11,961</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 28,178</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (14,582)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 162</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 13,758</b></p></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_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">Schedule of estimated amortization expense for intangible assets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Estimated annual amortization expense for intangible assets subsequent to December 31, 2024 is as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,636</p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,158</p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,675</p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 742</p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 110</p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 32</p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13,353</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://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)<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_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfGoodwillTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 by reportable segment and in total which includes a rollforward schedule.</p></div>
<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 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 2: 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 3: 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 4: 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> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-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 (d)<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 (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 9: 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 (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 10: 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 (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1A<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-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_ScheduleOfGoodwillTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491666613248">
<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 Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Schedule of components of provision for income taxes</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The significant components of the provision for income taxes for the&#160;years ended December 31, 2024 and 2023 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Current income tax provision:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 525</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,181</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 126</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 120</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">State and local</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 768</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,419</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,304</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Deferred income tax provision:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (294)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (286)</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4,059)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">State and local</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,256)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (5,609)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (276)</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4,190)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,028</p></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 U.S. statutory rate with Company's effective tax rate</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The reconciliation of the U.S. statutory rate with the Company&#8217;s effective tax rate for the&#160;years ended December 31, 2024 and 2023 is summarized as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Federal income tax expense at statutory rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Effect of:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Section 162 (m)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 57.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 452.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Global Intangible Low-Taxed Income (GILTI)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Tax effects of foreign operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 562.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Return to provision true up</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 264.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign operations permanent differences - foreign exchange gains and losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 76.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Withholding tax</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 106.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Research and development credit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (67.3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Tax effect of intercompany settlement</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (234.0)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Deemed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.6)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (149.2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign rate differential</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.9)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (102.5)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">State income tax net of federal benefit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1.8)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Increase (decrease) in unrecognized tax benefits (ASC 740)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (3.8)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 199.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Change in valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (30.7)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 578.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Effect of stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (64.8)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (961.6)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (7.6)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Effective tax rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (17.1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 739.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Schedule of deferred tax assets and liabilities</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Deferred tax assets and liabilities are classified as non-current. Significant components of the Company&#8217;s deferred tax assets and liabilities as of December 31, 2024 and 2023 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:27.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Deferred income tax assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Allowances not currently deductible</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 459</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 283</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 58</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Equity compensation not currently deductible</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 886</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,098</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Net operating loss carryforwards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,755</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,514</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Expenses not deductible until paid</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,274</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,972</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 87</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 585</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Total gross deferred income tax assets before valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,461</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,510</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4,969)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (13,769)</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Total Deferred income tax assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,492</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,741</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 18pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Deferred income tax liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Amortization of Intangibles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (32)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (22)</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Total Deferred income tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (32)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (22)</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net deferred income tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,460</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,719</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total deferred income tax assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,492</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,741</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total deferred income tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (32)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (22)</p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net deferred income tax assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,460</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,719</p></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_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock', window );">Schedule of United States and foreign components of loss before provision for income taxes</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">United States and foreign components of income (loss) before provision for income taxes for each of the years ended December&#160;31, were as follows&#160;(in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:60.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:60.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,692</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,025</p></td></tr><tr><td style="vertical-align:bottom;width:60.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,793</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,886)</p></td></tr><tr><td style="vertical-align:bottom;width:60.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,485</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 139</p></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_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock', window );">Schedule of roll forward of the Company's unrecognized tax benefits and associated interest</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table represents a roll forward of the Company&#8217;s unrecognized tax benefits and associated interest for the&#160;years ended (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Unrecognized Tax </b></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Benefits</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at beginning of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,942</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,680</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Decrease for prior year tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,309)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (68)</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Increase for current year tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 341</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 247</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Interest accrual</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 80</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 97</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency remeasurement</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (55)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (14)</p></td></tr><tr><td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at end of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 999</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,942</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of income before income tax between domestic and foreign jurisdictions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 change in 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491667357536">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Long-term obligations (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_inod_LongTermObligationsAbstract', window );"><strong>Long-term obligations</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_inod_LongTermObligationsDisclosureTableTextBlock', window );">Schedule of total long-term obligations</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Total long-term obligations as of December 31, 2024 and 2023 consisted of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pension obligations - accrued pension liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,945</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,128</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Microsoft licenses <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 442</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 911</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,387</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,039</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: Current portion of long-term obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,643</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,261</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,744</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,778</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 115.2pt;"><span style="font-size:8pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 12pt 0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup> In March 2023, the Company renewed a vendor agreement to acquire certain additional software licenses, receive technical support and future software upgrades on software licenses through February 2026. Pursuant to this agreement, the Company is contractually liable to pay approximately $0.4 million annually over the term of the agreement.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_LongTermObligationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_LongTermObligationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_LongTermObligationsDisclosureTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The tabular disclosure for long-term obligations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_LongTermObligationsDisclosureTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491665464960">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Operating 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_us-gaap_LesseeDisclosureAbstract', window );"><strong>Operating 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_inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock', window );">Schedule of operating lease expense recognized in financial statements</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The table below summarizes the amounts recognized in the financial statements related to operating leases for the years presented (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:43.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:22.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:22.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:43.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:52.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year&#160;Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:43.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:43.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Rent expense for long-term operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,257</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,252</p></td></tr><tr><td style="vertical-align:bottom;width:43.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Rent expense for short-term leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 178</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 305</p></td></tr><tr><td style="vertical-align:bottom;width:43.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Total rent expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,435</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,557</p></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_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Schedule of net present value of operating lease liability</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table presents the maturity profile of the Company&#8217;s operating lease liabilities based on the contractual undiscounted payments with a reconciliation of these amounts to the remaining net present value of the operating lease liability reported in the consolidated balance sheet as of December 31, 2024 (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,300</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,332</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,328</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 957</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 695</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">2030 and thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 175</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Total lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,787</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Less: Interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,132)</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net present value of lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,655</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 877</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Long-term portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,778</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 18pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,655</p></td></tr></table><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_inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock', window );">Schedule of weighted average remaining lease terms and discount rates</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The weighted average remaining lease terms and discount rates for all of our operating leases as of December 31, 2024 were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average lease term remaining</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;">51 months</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average discount rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">9.39%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 operating lease expense recognized in financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 weighted average remaining lease terms and discount rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_LesseeDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491667663936">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pension Benefits (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_CompensationAndRetirementDisclosureAbstract', window );"><strong>Pension Benefits</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock', window );">Schedule of status of the non-U.S. pension benefits pertaining to benefit obligations</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The following tables set out the status of the non-U.S. pension benefits and the amounts recognized in the Company&#8217;s consolidated financial statements and the components of pension costs for the years ended December 31, 2024 and 2023 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt;">Benefit Obligations:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Projected benefit obligation at beginning of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,128</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,906</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Service cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 717</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 568</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_dTanDrqytkiI4Uv_EFTIpA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Interest cost</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 522</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 478</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Actuarial loss (gain)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (105)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 324</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency exchange rates changes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (166)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 54</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Benefits paid</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (151)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (202)</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Projected benefit obligation at end of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,945</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,128</p></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_ScheduleOfNetBenefitCostsTableTextBlock', window );">Schedule of status of the non-U.S. pension benefits pertaining to components of net periodic pension cost</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Service cost </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 717</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 568</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Interest cost </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 522</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 478</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_usZZvKP_Ukqb3RkNFi3dVA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Actuarial loss recognized</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 147</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net periodic pension cost </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,237</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,193</p></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_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock', window );">Schedule of accumulated benefit obligation</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Amounts recognized in the consolidated balance sheets for the&#160;years ended December 31, 2024 and 2023 consisted of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Current accrued benefit cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,229</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 880</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Non-current accrued benefit cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,716</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,248</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total amount recognized</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,945</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,128</p></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_ScheduleOfAssumptionsUsedTableTextBlock', window );">Schedule of actuarial assumptions for all non-U.S. plans</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Discount rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">6.09%-12%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">6.73%-12.8%</p></td></tr><tr><td style="vertical-align:bottom;width:62.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Rate of increase in compensation level</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">7%-10%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">7.5%-14.5%</p></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_ScheduleOfExpectedBenefitPaymentsTableTextBlock', window );">Schedule of estimated future benefit payments</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">As of December 31, 2024, the following benefit payments, which reflect expected future service, as appropriate, were expected to be paid (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:top;width:75.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:75.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,246</p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 320</p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 658</p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 188</p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 606</p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2030 to 2034</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,142</p></td></tr><tr><td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,160</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amounts that are recognized in the balance sheet (or statement of financial position) for pension plans and/or other employee benefit plans, showing separately the assets and current and noncurrent liabilities (if applicable) recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_ScheduleOfAssumptionsUsedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 assumption used to determine benefit obligation and net periodic benefit cost of defined benefit plan. Includes, but is not limited to, discount rate, rate of compensation increase, expected long-term rate of return on plan assets and interest crediting rate.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (k)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAssumptionsUsedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 change in the accumulated postemployment benefit obligation from the beginning to the end of the period, showing separately, if applicable, the effects of the following: service cost, interest cost, contributions by plan participants, actuarial gains and losses, foreign currency exchange rate changes, benefits paid, plan amendments, business combinations, divestitures, curtailments, settlements, and special and contractual termination benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 715<br> -SubTopic 20<br> -Subparagraph (a)<br> -Name Accounting Standards Codification<br> -Paragraph 1<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_ScheduleOfExpectedBenefitPaymentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 benefits expected to be paid by pension plans and/or other employee benefit plans in each of the next five fiscal years and in the aggregate for the five fiscal years thereafter.</p></div>
<a href="javascript: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 715<br> -SubTopic 20<br> -Subparagraph (f)<br> -Name Accounting Standards Codification<br> -Paragraph 1<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_ScheduleOfNetBenefitCostsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 benefit costs for pension plans and/or other employee benefit plans including service cost, interest cost, expected return on plan assets, gain (loss), prior service cost or credit, transition asset or obligation, and gain (loss) recognized due to settlements or curtailments.</p></div>
<a href="javascript: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 715<br> -SubTopic 20<br> -Subparagraph (h)<br> -Name Accounting Standards Codification<br> -Paragraph 1<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfNetBenefitCostsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491677673472">
<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_inod_StockOptionsLineItems', window );"><strong>Stock Options and Restricted Stock Units</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock', window );">Schedule of weighted-average fair value of the options granted, and weighted-average assumptions</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:46.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For&#160;the&#160;Year&#160;Ended&#160;December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average fair value of options granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 32.07</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.56</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Risk-free interest rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4.40</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4.34</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:48.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Expected term (years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 6.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 6.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Expected volatility factor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 87.69</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">75.35</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:48.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Expected dividends</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> None </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> None </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></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_us-gaap_PlanNameAxis=inod_EquityPlansMember', window );">Equity Plans</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_inod_StockOptionsLineItems', window );"><strong>Stock Options and Restricted Stock Units</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_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Schedule of stock option activity</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:15.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted&#160;-Average</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:15.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contractual&#160;Term</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:15.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(years)</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:11.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Intrinsic&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at January 1, 2024</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,339,162</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.22</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 6.38</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,640,009</p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Granted</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,169,968)</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.54</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4,001)</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6.96</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at December 31, 2024</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,165,193</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.67</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 6.32</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 113,458,326</p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercisable at December 31, 2024</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,673,966</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.54</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 5.51</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 61,901,891</p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested and Expected to vest at December 31, 2024</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,165,193</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:13.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.67</p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:normal;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 6.32</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 113,458,326</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted&#160;&#8211;&#160;Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contractual&#160;Term</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Intrinsic&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at January 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,690,490</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.09</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 7.19</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,989,709</p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Granted*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 25,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.31</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,287,462)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.37</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (88,866)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6.27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,339,162</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.22</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 6.38</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,640,009</p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercisable at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,475,780</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.18</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 6.40</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22,237,334</p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested and Expected to vest at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,339,162</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.22</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 6.38</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,640,009</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt;"><i style="font-style:italic;">* Includes </i><i style="font-style:italic;">25,000</i><i style="font-style:italic;"> stock options granted to a non-employee member of the Company&#8217;s advisory board.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted&#160;- Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contractual Term</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intrinsic Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding at January 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 923,571</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.76</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,786,252</p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 268,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42.57</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (336,264)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.44</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (13,536)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.84</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding at December 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 842,271</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.86</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.46</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,847,471</p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Exercisable at December 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 314,244</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.32</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 7.73</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,374,251</p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested and Expected to vest at December 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 842,271</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.86</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.46</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,847,471</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted&#160;-&#160;Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contractual Term</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intrinsic Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding at January 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,027,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.46</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 9.75</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13.05</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (63,595)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.59</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (43,334)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 923,571</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.76</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,786,252</p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Exercisable at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 386,209</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.34</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.74</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,023,601</p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested and Expected to vest at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 923,571</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.76</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,786,252</p></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_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units</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_inod_StockOptionsLineItems', window );"><strong>Stock Options and Restricted Stock Units</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_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock', window );">Summary of restricted stock under the company's plan</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted&#160;Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant&#160;Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at January 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 749,756</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.77</p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 549,079</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40.61</p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (48,761)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.42</p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (995)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.29</p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at December 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,249,079</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20.98</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant&#160;Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Units</b></p></td><td style="vertical-align:middle;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at January 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 700,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.59</p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,756</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.29</p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 749,756</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.77</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_StockOptionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">inod_StockOptionsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=inod_EquityPlansMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=inod_EquityPlansMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491677881008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Comprehensive loss (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_ComprehensiveIncomeNetOfTaxAbstract', window );"><strong>Comprehensive loss</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_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock', window );">Schedule of components of accumulated other comprehensive loss and reclassifications from accumulated other comprehensive loss</a></td>
<td class="text">The components of accumulated other comprehensive loss as of December 31, 2024 and 2023, and reclassifications out of accumulated other comprehensive loss for the&#160;years then ended, are presented below (in thousands):<p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated&#160;Other</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Pension&#160;Liability</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Comprehensive</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Derivatives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Loss</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at January 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (412)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,250)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,621)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Other comprehensive income (loss) before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 172</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (494)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (592)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (914)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total other comprehensive loss before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (240)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (453)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,842)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,535)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net amount reclassified to earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 58</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 65</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at December 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (233)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (395)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,842)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,470)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated&#160;Other</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Pension&#160;Liability</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Comprehensive</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Derivatives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Loss</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at January 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (86)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (365)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,657)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,108)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Other comprehensive income (loss) before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (322)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 185</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 407</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 270</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total other comprehensive loss before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (408)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (180)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,250)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,838)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net amount reclassified to earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 221</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 217</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (412)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,250)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,621)</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTaxAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accumulated other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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://www.xbrl.org/2009/role/commonPracticeRef<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 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-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_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491677755760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment reporting and concentrations (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 and concentrations</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_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock', window );">Reconciliation of Assets from Segment to Consolidated</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;">The measure of segment assets is reported on the balance sheet as total consolidated assets shown in the table below (in thousands): </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:34.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-family:'Aptos Narrow';font-weight:bold;">&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">DDS</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 87,165</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 37,232</p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Synodex</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,983</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,379</p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Agility <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,301</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 18,820</p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total Consolidated</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 113,449</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 59,431</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup><span style="display:inline-block;width:12.17pt;"></span>Agility assets include goodwill of $2.0 million and $2.1 million as of December 31, 2024 and 2023, respectively</p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="display:inline-block;width:12.17pt;"></span>Segment assets consist of cash, receivables, prepaid and other current assets, property and equipment, and intangibles.</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_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock', window );">Segment information for other significant income statement</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;">The table below shows segment information for other significant income statement items (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">DDS</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Synodex</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Agility</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 141,098</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,864</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,499</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 170,461</p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#1f1f1f;">Direct operating costs </span><sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup><span style="color:#1f1f1f;"> </span><sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 88,186</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,763</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,438</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 103,387</p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#1f1f1f;">Gross profit</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 52,912</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,101</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,061</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 67,074</p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#1f1f1f;">Selling and administrative expenses </span><sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="color:#1f1f1f;"> </span><sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(4)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 31,685</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 194</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,859</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 42,738</p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#1f1f1f;">Segment operating income</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,227</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,907</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,202</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,336</p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Interest expense (income), net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (153)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (149)</p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Income before provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,380</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,907</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,198</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,485</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">DDS</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Synodex</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Agility</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 61,576</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,511</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,688</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 86,775</p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#1f1f1f;">Direct operating costs </span><sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1) (3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 40,057</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,712</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,713</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 55,482</p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#1f1f1f;">Gross profit</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,519</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 799</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,975</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 31,293</p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#1f1f1f;">Selling and administrative expenses </span><sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2) (4)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,085</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 580</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,310</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 30,975</p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#1f1f1f;">Segment operating income</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,434</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 219</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,335)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 318</p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Interest expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 174</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 179</p></td></tr><tr><td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Income before provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,260</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 219</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,340)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 139</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><span style="font-size:8pt;">Direct operating costs consist of direct and indirect labor costs, occupancy costs, data center hosting fees, cloud services, content acquisition costs, depreciation and amortization, travel, telecommunications, computer services and supplies, realized (gain) loss on forward contracts, foreign currency revaluation (gain) loss, and other direct expenses that are incurred in providing services to our customers.</span></p></td></tr></table><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><span style="font-size:8pt;">Selling and administrative expenses consist of payroll and related costs including commissions, bonuses, and stock-based compensation; marketing, advertising, trade conferences and related expenses; new services research and related software development expenses, software subscriptions, professional and consultant fees, provision for credit losses and other administrative overhead expenses.</span></p></td></tr></table><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><span style="font-size:8pt;">Includes non-cash expenses which consist mainly of depreciation, amortization of capitalized software development costs and stock-based compensation expense.</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(4)</sup><span style="display:inline-block;width:12.17pt;"></span>Includes non-cash expenses which consist mainly of stock-based compensation expense.</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_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock', window );">Schedule of revenue from external customers and long-lived assets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Long-lived assets as of December 31, 2024 and 2023 by geographic region were comprised of (in thousands): </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:35.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,182</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,101</p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign countries:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,265</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,328</p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 806</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,028</p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Philippines</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,532</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,484</p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">India</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,251</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,791</p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Sri Lanka</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 587</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 423</p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Israel</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 63</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13</p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Germany</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13,508</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14,067</p></td></tr><tr><td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">23,690</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23,168</p></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 from external customers based on client domicile</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Revenues for each of the two&#160;years in the period ended December 31, 2024 and 2023 by geographic region (determined based upon customer domicile), were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:34.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 133,876</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 54,430</p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United Kingdom </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,006</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,766</p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">The Netherlands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,059</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,291</p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,696</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,156</p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Others - principally other European countries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,824</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,132</p></td></tr><tr><td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 170,461</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 86,775</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 assets from reportable segments to the entity's consolidated assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -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 (c)<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_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 reconciliation of other items from reportable segments to their consolidated amount. Excludes reconciliation of revenue, profit (loss), and assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -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 (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_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of information concerning material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. 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> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<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_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491677860592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income (loss) 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>Income (loss) per Share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Schedule of loss per share, basic and diluted</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For&#160;the&#160;Years&#160;Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net income (loss) attributable to Innodata Inc. and Subsidiaries </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,660</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (908)</p></td></tr><tr><td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average common shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 29,163</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,131</p></td></tr><tr><td style="vertical-align:bottom;width:70.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Dilutive effect of outstanding options and restricted stock units</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,014</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Adjusted for dilutive computation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 32,177</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,131</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491677695232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivatives (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_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract', window );"><strong>Derivatives</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_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock', window );">Schedule of fair value of derivative instruments included within the condensed consolidated balance sheets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table presents the fair value of derivative instruments included within the consolidated balance sheets as of December 31, 2024 and 2023 (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Derivatives designated as hedging instruments:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">Accrued expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 499</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:40.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 41</p></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_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock', window );">Schedule of effect of foreign currency forward contracts designated as cash flow hedges on condensed consolidated statements of operations</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The effect of foreign currency forward contracts designated as cash flow hedges on the consolidated statements of operations for the&#160;years ended December 31, 2024 and 2023 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net gain (loss) recognized in OCI<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (494)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 185</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss reclassified from accumulated OCI into income<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (58)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (221)</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net gain recognized in income<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:5pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">Net change in fair value of the effective portion classified into other comprehensive income (&#8220;OCI&#8221;)</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">Effective portion classified within direct operating costs.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">There were no ineffective portions for the period presented</span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">.</span></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4E<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4E<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4C<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491677933504">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($) </div>
<div>segment</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_inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfReportableSegments', window );">Number of reporting segments | segment</a></td>
<td class="nump">3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostAmortizationPeriod', window );">Amortization period</a></td>
<td class="text">12 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets', window );">Prepaid expenses and other current assets on contract acquisition costs</a></td>
<td class="nump">$ 1,100<span></span>
</td>
<td class="nump">$ 800<span></span>
</td>
</tr>
<tr class="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 );">Foreign exchange (gains) losses</a></td>
<td class="num">(200)<span></span>
</td>
<td class="nump">400<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure', window );">Outstanding foreign currency forward contracts</a></td>
<td class="nump">22,500<span></span>
</td>
<td class="nump">10,500<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">46,883<span></span>
</td>
<td class="nump">13,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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Cost</a></td>
<td class="nump">20,667<span></span>
</td>
<td class="nump">19,889<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillImpairmentLoss', window );">Goodwill impairment</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredRevenue', window );">Deferred revenue</a></td>
<td class="nump">8,010<span></span>
</td>
<td class="nump">3,523<span></span>
</td>
</tr>
<tr class="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_SoftwareDevelopmentMember', window );">Capitalized software development</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Cost</a></td>
<td class="nump">19,800<span></span>
</td>
<td class="nump">15,200<span></span>
</td>
</tr>
<tr class="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_InProcessResearchAndDevelopmentMember', window );">In process research and development</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_inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Cost</a></td>
<td class="nump">$ 3,600<span></span>
</td>
<td class="nump">$ 3,500<span></span>
</td>
</tr>
<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</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</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_FiniteLivedIntangibleAssetUsefulLife', window );">Estimated useful life of intangibles</a></td>
<td class="text">10 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_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment useful lives</a></td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum | Capitalized software development</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</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_FiniteLivedIntangibleAssetUsefulLife', window );">Estimated useful life of intangibles</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</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_inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</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_FiniteLivedIntangibleAssetUsefulLife', window );">Estimated useful life of intangibles</a></td>
<td class="text">12 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_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment useful lives</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum | Capitalized software development</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_inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</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_FiniteLivedIntangibleAssetUsefulLife', window );">Estimated useful life of intangibles</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_AsiaMember', window );">Asia</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</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_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 17,900<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_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_inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 29,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_inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer, acquired at the acquisition 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 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CapitalizedContractCostAmortizationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amortization period of cost capitalized in obtaining or fulfilling contract with customer, 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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -SubTopic 40<br> -Topic 340<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479483/340-40-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_CapitalizedContractCostAmortizationPeriod</td>
</tr>
<tr>
<td style="padding-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_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_DeferredRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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.</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(26)(c))<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_DeferredRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-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_ForeignCurrencyContractAssetFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of asset contracts related to the exchange of different currencies, including, but not limited to, foreign currency options, forward contracts, and swaps.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<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_ForeignCurrencyContractAssetFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before tax, of 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_GoodwillImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of impairment loss from 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://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 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-2<br><br>Reference 4: 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 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-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 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482598/350-20-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_GoodwillImpairmentLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/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 2: 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 3: 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_NumberOfReportableSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 and amortization, of property, plant, and equipment and finance lease right-of-use asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -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><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(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 842<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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareDevelopmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_SoftwareDevelopmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_InProcessResearchAndDevelopmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_InProcessResearchAndDevelopmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_srt_StatementGeographicalAxis=srt_AsiaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=srt_AsiaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491666653664">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies - Stock-based compensation (Details) - USD ($)<br> $ in Thousands</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_AccountingPoliciesAbstract', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</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_StockOptionPlanExpense', window );">Direct operating costs</a></td>
<td class="nump">$ 281<span></span>
</td>
<td class="nump">$ 294<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherSellingGeneralAndAdministrativeExpense', window );">Selling and administrative expenses</a></td>
<td class="nump">3,717<span></span>
</td>
<td class="nump">3,733<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_ShareBasedCompensation', window );">Total stock-based compensation</a></td>
<td class="nump">$ 3,998<span></span>
</td>
<td class="nump">$ 4,027<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_OtherSellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of selling, general and administrative expense classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(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_OtherSellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockOptionPlanExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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_StockOptionPlanExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491665487664">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies - Deferred revenue (Details) - USD ($)<br> $ in Thousands</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_AccountingPoliciesAbstract', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</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_ContractWithCustomerLiabilityCurrent', window );">Balance at the beginning of period</a></td>
<td class="nump">$ 3,523<span></span>
</td>
<td class="nump">$ 4,366<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredRevenuePeriodIncreaseDecrease', window );">Net deferred revenue in the period</a></td>
<td class="nump">27,577<span></span>
</td>
<td class="nump">21,619<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredRevenueRevenueRecognized1', window );">Revenue recognized</a></td>
<td class="num">(22,896)<span></span>
</td>
<td class="num">(22,586)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments', window );">Currency translations and other adjustments</a></td>
<td class="num">(194)<span></span>
</td>
<td class="nump">124<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Balance at the end of period</a></td>
<td class="nump">$ 8,010<span></span>
</td>
<td class="nump">$ 3,523<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_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredRevenuePeriodIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in deferred revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenuePeriodIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredRevenueRevenueRecognized1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized that was previously reported as deferred or unearned revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenueRevenueRecognized1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_TemporaryEquityForeignCurrencyTranslationAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Adjustments to temporary equity resulting from foreign currency translation adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491669861856">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Accounts Receivable (Details) - USD ($)<br> $ in Thousands</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_ReceivablesAbstract', window );"><strong>Accounts Receivable</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_AccountsReceivableGrossCurrent', window );">Gross Accounts receivable</a></td>
<td class="nump">$ 29,772<span></span>
</td>
<td class="nump">$ 15,505<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Allowance for credit losses</a></td>
<td class="num">(1,759)<span></span>
</td>
<td class="num">(1,217)<span></span>
</td>
<td class="num">$ (1,213)<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_AccountsReceivableNetCurrent', window );">Accounts receivable, net</a></td>
<td class="nump">$ 28,013<span></span>
</td>
<td class="nump">$ 14,288<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_AccountsReceivableGrossCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -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 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><br>Reference 3: 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-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_AccountsReceivableGrossCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479344/326-20-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491676972224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounts Receivable - Activity in allowance for credit losses (Details) - USD ($)<br> $ in Thousands</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_ReceivablesAbstract', window );"><strong>Accounts Receivable</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Balance at beginning of year</a></td>
<td class="nump">$ 1,217<span></span>
</td>
<td class="nump">$ 1,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_ProvisionForDoubtfulAccounts', window );">Additions charged to expense</a></td>
<td class="nump">804<span></span>
</td>
<td class="nump">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_AllowanceForDoubtfulAccountsReceivableWriteOffs', window );">Write-offs against allowance</a></td>
<td class="num">(256)<span></span>
</td>
<td class="num">(426)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation', window );">Foreign currency translation adjustment</a></td>
<td class="num">(6)<span></span>
</td>
<td class="nump">4<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Balance at end of year</a></td>
<td class="nump">$ 1,759<span></span>
</td>
<td class="nump">$ 1,217<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479344/326-20-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of direct write-downs of accounts receivable charged against the allowance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (d)<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_AllowanceForDoubtfulAccountsReceivableWriteOffs</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of foreign currency translation gain (loss) which decreases (increases) allowance for credit loss on financing receivable. Excludes net investment in 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 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_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<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(5))<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_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491672985760">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Property and equipment - Property and equipment (Details) - USD ($)<br> $ in Thousands</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 and equipment</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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Property and equipment, stated at cost</a></td>
<td class="nump">$ 20,667<span></span>
</td>
<td class="nump">$ 19,889<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization', window );">Less: accumulated depreciation and amortization</a></td>
<td class="num">(16,566)<span></span>
</td>
<td class="num">(17,608)<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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization', window );">Net</a></td>
<td class="nump">4,101<span></span>
</td>
<td class="nump">2,281<span></span>
</td>
</tr>
<tr class="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_EquipmentMember', window );">Equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 and equipment</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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Property and equipment, stated at cost</a></td>
<td class="nump">12,135<span></span>
</td>
<td class="nump">11,315<span></span>
</td>
</tr>
<tr class="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_ComputerSoftwareIntangibleAssetMember', window );">Computer software</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 and equipment</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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Property and equipment, stated at cost</a></td>
<td class="nump">4,480<span></span>
</td>
<td class="nump">4,465<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Furniture and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 and equipment</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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Property and equipment, stated at cost</a></td>
<td class="nump">951<span></span>
</td>
<td class="nump">1,128<span></span>
</td>
</tr>
<tr class="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</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 and equipment</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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Property and equipment, stated at cost</a></td>
<td class="nump">2,554<span></span>
</td>
<td class="nump">2,547<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ConstructionInProgressMember', window );">Capital work-in-progress</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 and equipment</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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Property and equipment, stated at cost</a></td>
<td class="nump">$ 547<span></span>
</td>
<td class="nump">$ 434<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 and amortization from plant, property, and equipment and right-of-use asset from finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 360<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/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-4<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 and amortization, of property, plant, and equipment and finance lease right-of-use asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 and amortization, of property, plant, and equipment and finance lease right-of-use asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -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><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(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 842<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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_EquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_ComputerSoftwareIntangibleAssetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ComputerSoftwareIntangibleAssetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_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_ConstructionInProgressMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ConstructionInProgressMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491668970096">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and equipment - Additional Information (Details) - USD ($)<br> $ in Thousands</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_PropertyPlantAndEquipmentLineItems', window );"><strong>Property and equipment</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation expense</a></td>
<td class="nump">$ 5,796<span></span>
</td>
<td class="nump">$ 4,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_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 and equipment</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_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</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 and equipment</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_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_PropertyPlantAndEquipmentMember', window );">Property and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 and equipment</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation expense</a></td>
<td class="nump">$ 1,500<span></span>
</td>
<td class="nump">$ 1,200<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_PropertyPlantAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_PropertyPlantAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491667949504">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets - Changes in carrying amount of goodwill (Details)<br> $ in Thousands</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_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance - January 1, 2024</a></td>
<td class="nump">$ 2,075<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss', window );">Foreign currency translation adjustment</a></td>
<td class="num">(77)<span></span>
</td>
</tr>
<tr class="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 );">Balance - December 31, 2024</a></td>
<td class="nump">$ 1,998<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_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_GoodwillForeignCurrencyTranslationGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of foreign currency translation gain (loss) which increases (decreases) asset representing future economic benefit 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/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-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_GoodwillForeignCurrencyTranslationGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491672996992">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Goodwill and Intangible Assets - Acquisition-related intangible assets (Details) - USD ($)<br> $ in Thousands</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible 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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">$ 33,019<span></span>
</td>
<td class="nump">$ 28,178<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(19,160)<span></span>
</td>
<td class="num">(14,582)<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_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment', window );">Foreign Currency Translation Adjustment</a></td>
<td class="nump">506<span></span>
</td>
<td class="nump">162<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 Carrying Value</a></td>
<td class="nump">13,353<span></span>
</td>
<td class="nump">13,758<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=inod_AcquiredIntangibleAssetsMember', window );">Acquired Intangible Assets</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible 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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">9,656<span></span>
</td>
<td class="nump">9,482<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(8,653)<span></span>
</td>
<td class="num">(7,720)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment', window );">Foreign Currency Translation Adjustment</a></td>
<td class="nump">33<span></span>
</td>
<td class="nump">35<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 Carrying Value</a></td>
<td class="nump">970<span></span>
</td>
<td class="nump">1,797<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Developed technology</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible 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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">3,060<span></span>
</td>
<td class="nump">2,999<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(2,911)<span></span>
</td>
<td class="num">(2,640)<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_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment', window );">Foreign Currency Translation Adjustment</a></td>
<td class="num">(3)<span></span>
</td>
<td class="nump">7<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 Carrying Value</a></td>
<td class="nump">146<span></span>
</td>
<td class="nump">366<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer relationships</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible 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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">2,144<span></span>
</td>
<td class="nump">2,096<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(1,856)<span></span>
</td>
<td class="num">(1,645)<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_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment', window );">Foreign Currency Translation Adjustment</a></td>
<td class="num">(29)<span></span>
</td>
<td class="nump">10<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">259<span></span>
</td>
<td class="nump">461<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksAndTradeNamesMember', window );">Trademarks and tradenames</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible 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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">862<span></span>
</td>
<td class="nump">852<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(826)<span></span>
</td>
<td class="num">(774)<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_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment', window );">Foreign Currency Translation Adjustment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<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 Carrying Value</a></td>
<td class="nump">36<span></span>
</td>
<td class="nump">80<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember', window );">Patents</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible 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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">44<span></span>
</td>
<td class="nump">43<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(44)<span></span>
</td>
<td class="num">(40)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DatabasesMember', window );">Media Contact Database</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">3,546<span></span>
</td>
<td class="nump">3,492<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="num">(3,016)<span></span>
</td>
<td class="num">(2,621)<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_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment', window );">Foreign Currency Translation Adjustment</a></td>
<td class="num">(1)<span></span>
</td>
<td class="nump">16<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">529<span></span>
</td>
<td class="nump">887<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember', window );">Capitalized Developed Software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">23,363<span></span>
</td>
<td class="nump">18,696<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="num">(10,507)<span></span>
</td>
<td class="num">(6,862)<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_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment', window );">Foreign Currency Translation Adjustment</a></td>
<td class="nump">473<span></span>
</td>
<td class="nump">127<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">12,383<span></span>
</td>
<td class="nump">11,961<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=inod_CapitalizedSoftwareDevelopmentCostMember', window );">Capitalized Developed Software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">19,811<span></span>
</td>
<td class="nump">15,216<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(10,507)<span></span>
</td>
<td class="num">(6,862)<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_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment', window );">Foreign Currency Translation Adjustment</a></td>
<td class="num">(463)<span></span>
</td>
<td class="nump">138<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">8,841<span></span>
</td>
<td class="nump">8,492<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember', window );">Capitalized Developed Software - in Progress</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">3,552<span></span>
</td>
<td class="nump">3,480<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_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment', window );">Foreign Currency Translation Adjustment</a></td>
<td class="num">(10)<span></span>
</td>
<td class="nump">11<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 Carrying Value</a></td>
<td class="nump">$ 3,542<span></span>
</td>
<td class="nump">$ 3,469<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 foreign currency translation adjustments on 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/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 928<br> -SubTopic 340<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478859/928-340-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_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>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 (d)(2)<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 50<br> -Paragraph 2<br> -Subparagraph (d)(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 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><br>Reference 5: 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 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-3<br><br>Reference 7: 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 8: 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_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_FiniteLivedIntangibleAssetsByMajorClassAxis=inod_AcquiredIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=inod_AcquiredIntangibleAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_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_FiniteLivedIntangibleAssetsByMajorClassAxis=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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksAndTradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksAndTradeNamesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DatabasesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DatabasesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=inod_CapitalizedSoftwareDevelopmentCostMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=inod_CapitalizedSoftwareDevelopmentCostMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491673022592">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Goodwill and Intangible Assets - Estimated amortization expense (Details) - USD ($)<br> $ in Thousands</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</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_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2025</a></td>
<td class="nump">$ 5,636<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">4,158<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">2,675<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">742<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">110<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_inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter', window );">Thereafter</a></td>
<td class="nump">32<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">$ 13,353<span></span>
</td>
<td class="nump">$ 13,758<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized thereafter excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://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_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_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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491669425648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets (Details) - USD ($)<br> $ in Thousands</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible 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_GoodwillImpairmentLoss', window );">Goodwill impairment</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">1,998<span></span>
</td>
<td class="nump">$ 2,075<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=inod_AcquiredIntangibleAssetsMember', window );">Acquired Intangible Assets</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible 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_AmortizationOfIntangibleAssets', window );">Amortization expense</a></td>
<td class="nump">800<span></span>
</td>
<td class="nump">900<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember', window );">Capitalized Developed Software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible Assets</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_AmortizationOfIntangibleAssets', window );">Amortization expense</a></td>
<td class="nump">$ 3,500<span></span>
</td>
<td class="nump">$ 2,700<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_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>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 (d)(2)<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 50<br> -Paragraph 2<br> -Subparagraph (d)(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 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><br>Reference 5: 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 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-3<br><br>Reference 7: 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 8: 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_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_GoodwillImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of impairment loss from 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://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 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-2<br><br>Reference 4: 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 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-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 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482598/350-20-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_GoodwillImpairmentLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=inod_AcquiredIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=inod_AcquiredIntangibleAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491667313312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Components of provision for income taxes (Details) - USD ($)<br> $ in Thousands</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_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Current income tax provision:</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_CurrentForeignTaxExpenseBenefit', window );">Foreign</a></td>
<td class="nump">$ 525<span></span>
</td>
<td class="nump">$ 1,181<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentFederalTaxExpenseBenefit', window );">Federal</a></td>
<td class="nump">126<span></span>
</td>
<td class="nump">120<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit', window );">State and local</a></td>
<td class="nump">768<span></span>
</td>
<td class="nump">3<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 income tax expense (benefit)</a></td>
<td class="nump">1,419<span></span>
</td>
<td class="nump">1,304<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Deferred income tax provision:</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_DeferredForeignIncomeTaxExpenseBenefit', window );">Foreign</a></td>
<td class="num">(294)<span></span>
</td>
<td class="num">(286)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFederalIncomeTaxExpenseBenefit', window );">Federal</a></td>
<td class="num">(4,059)<span></span>
</td>
<td class="nump">10<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit', window );">State and local</a></td>
<td class="num">(1,256)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred income tax expense (benefit)</a></td>
<td class="num">(5,609)<span></span>
</td>
<td class="num">(276)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision for income taxes</a></td>
<td class="num">$ (4,190)<span></span>
</td>
<td class="nump">$ 1,028<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentFederalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentFederalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491672602816">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Tax rate reconciliation (Details)<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 Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Federal income tax expense at statutory rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract', window );"><strong>Effect 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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_EffectiveIncomeTaxRateReconciliationSection162Percentage', window );">Section 162 (m)</a></td>
<td class="nump">57.60%<span></span>
</td>
<td class="nump">452.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent', window );">Global Intangible Low-Taxed Income (GILTI)</a></td>
<td class="nump">3.10%<span></span>
</td>
<td class="nump">0.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_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign', window );">Tax effects of foreign operations</a></td>
<td class="nump">1.50%<span></span>
</td>
<td class="nump">562.60%<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_inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp', window );">Return to provision true up</a></td>
<td class="nump">0.80%<span></span>
</td>
<td class="nump">264.40%<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_inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses', window );">Foreign operations permanent differences - foreign exchange gains and losses</a></td>
<td class="nump">0.60%<span></span>
</td>
<td class="nump">76.90%<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_inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage', window );">Withholding tax</a></td>
<td class="nump">0.50%<span></span>
</td>
<td class="nump">106.60%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch', window );">Research and development credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(67.30%)<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_inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent', window );">Tax effect of intercompany settlement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(234.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_inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent', window );">Deemed interest</a></td>
<td class="num">(0.60%)<span></span>
</td>
<td class="num">(149.20%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential', window );">Foreign rate differential</a></td>
<td class="num">(0.90%)<span></span>
</td>
<td class="num">(102.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_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes', window );">State income tax net of federal benefit</a></td>
<td class="num">(1.80%)<span></span>
</td>
<td class="nump">0.10%<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_inod_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInUnrecognizedTaxBenefits', window );">Increase (decrease) in unrecognized tax benefits (ASC 740)</a></td>
<td class="num">(3.80%)<span></span>
</td>
<td class="nump">199.60%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Change in valuation allowance</a></td>
<td class="num">(30.70%)<span></span>
</td>
<td class="nump">578.60%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent', window );">Effect of stock-based compensation</a></td>
<td class="num">(64.80%)<span></span>
</td>
<td class="num">(961.60%)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent', window );">Other</a></td>
<td class="nump">0.40%<span></span>
</td>
<td class="num">(7.60%)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Effective tax rate</a></td>
<td class="num">(17.10%)<span></span>
</td>
<td class="nump">739.60%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to deemed interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInUnrecognizedTaxBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>These lines are represents tax rate of income unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInUnrecognizedTaxBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of Effective Income Tax Rate Reconciliation, Return to Provision True Up.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_EffectiveIncomeTaxRateReconciliationSection162Percentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective income tax rate reconciliation section 162 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;">inod_EffectiveIncomeTaxRateReconciliationSection162Percentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax benefit of intercompany settlement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective income tax rate reconciliation withholding tax 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;">inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 exchange gains and losses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/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><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/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><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 reported income tax expense from difference to expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operations, attributable to global intangible low-taxed income (GILTI).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent</td>
</tr>
<tr>
<td style="padding-right: 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_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 reported income tax benefit (expense) from difference to income tax expense (benefit) computed by applying statutory federal (national) income tax rate to pretax income (loss) from continuing operation, attributable to other reconciling items. Excludes state and local income tax expense (benefit), federal tax expense (benefit), statutory income tax expense (benefit) outside of country of domicile, tax credit, nondeductible expense, deduction, income tax settlement, income tax contingency, and cross-border tax law.</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 12<br> -Subparagraph (b)(3)<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_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent</td>
</tr>
<tr>
<td style="padding-right: 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_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after 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/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 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> -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> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 2<br> -SubTopic 740<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479176/718-740-35-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_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in foreign income tax contingency.</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 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<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)(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_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491673229600">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Income Taxes - Deferred tax assets and liabilities (Details) - USD ($)<br> $ in Thousands</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_DeferredTaxAssetsGrossAbstract', window );"><strong>Deferred income tax assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals', window );">Allowances not currently deductible</a></td>
<td class="nump">$ 459<span></span>
</td>
<td class="nump">$ 283<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment', window );">Depreciation and amortization</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">58<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits', window );">Equity compensation not currently deductible</a></td>
<td class="nump">886<span></span>
</td>
<td class="nump">2,098<span></span>
</td>
</tr>
<tr class="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">7,755<span></span>
</td>
<td class="nump">10,514<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_inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid', window );">Expenses not deductible until paid</a></td>
<td class="nump">3,274<span></span>
</td>
<td class="nump">1,972<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOther', window );">Other</a></td>
<td class="nump">87<span></span>
</td>
<td class="nump">585<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 );">Total gross deferred income tax assets before valuation allowance</a></td>
<td class="nump">12,461<span></span>
</td>
<td class="nump">15,510<span></span>
</td>
</tr>
<tr class="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">(4,969)<span></span>
</td>
<td class="num">(13,769)<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 );">Total Deferred income tax assets, net</a></td>
<td class="nump">7,492<span></span>
</td>
<td class="nump">1,741<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract', window );"><strong>Deferred income tax liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsAmortizationOfIntangibleAssets', window );">Amortization of Intangibles</a></td>
<td class="num">(32)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesOther', window );">Other</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(22)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilities', window );">Total deferred income tax liabilities</a></td>
<td class="num">(32)<span></span>
</td>
<td class="num">(22)<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_DeferredTaxAssetsLiabilitiesNet', window );">Net deferred income tax assets</a></td>
<td class="nump">7,460<span></span>
</td>
<td class="nump">1,719<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Total deferred income tax assets</a></td>
<td class="nump">7,492<span></span>
</td>
<td class="nump">1,741<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilities', window );">Total deferred income tax liability</a></td>
<td class="num">(32)<span></span>
</td>
<td class="num">(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_DeferredTaxAssetsLiabilitiesNet', window );">Net deferred income tax assets</a></td>
<td class="nump">$ 7,460<span></span>
</td>
<td class="nump">$ 1,719<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses not deductible until paid under deferred tax 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;">inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_inod_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsAmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 amortization of intangible assets including goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsAmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ComponentsOfDeferredTaxLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_DeferredTaxAssetsGrossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsGrossAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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, without 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/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_DeferredTaxAssetsLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from property, plant, and equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from compensation and benefits costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from reserves and accruals.</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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxLiabilitiesOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491677790128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - United States and foreign components of income (loss) (Details) - USD ($)<br> $ in Thousands</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 Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic', window );">United States</a></td>
<td class="nump">$ 21,692<span></span>
</td>
<td class="nump">$ 2,025<span></span>
</td>
</tr>
<tr class="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 );">Foreign</a></td>
<td class="nump">2,793<span></span>
</td>
<td class="num">(1,886)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before provision for income taxes</a></td>
<td class="nump">$ 24,485<span></span>
</td>
<td class="nump">$ 139<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_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_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_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>
</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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491672337184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Unrecognized tax benefits (Details) - USD ($)<br> $ in Thousands</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 Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Balance at beginning of the year</a></td>
<td class="nump">$ 1,942<span></span>
</td>
<td class="nump">$ 1,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_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions', window );">Decrease for prior year tax positions</a></td>
<td class="num">(1,309)<span></span>
</td>
<td class="num">(68)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions', window );">Increase for current year tax positions</a></td>
<td class="nump">341<span></span>
</td>
<td class="nump">247<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense', window );">Interest accrual</a></td>
<td class="nump">80<span></span>
</td>
<td class="nump">97<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_inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation', window );">Foreign currency remeasurement</a></td>
<td class="num">(55)<span></span>
</td>
<td class="num">(14)<span></span>
</td>
</tr>
<tr class="re">
<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 );">Balance at end of the year</a></td>
<td class="nump">$ 999<span></span>
</td>
<td class="nump">$ 1,942<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 resulting from foreign currency translation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period 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/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)(1)<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_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 unrecognized tax benefits resulting from tax positions taken in prior period 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/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)(1)<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_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 for an underpayment of income taxes.</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_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491672635792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 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_inod_IncomeTaxesLineItems', window );"><strong>Income Taxes</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_DeferredTaxAssetsValuationAllowance', window );">Valuation allowance</a></td>
<td class="nump">$ 4,969<span></span>
</td>
<td class="nump">$ 13,769<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount', window );">Increase in total valuation allowance</a></td>
<td class="num">(8,800)<span></span>
</td>
<td class="nump">800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UndistributedEarningsOfForeignSubsidiaries', window );">Foreign subsidiaries amount</a></td>
<td class="nump">53,900<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_UnrecognizedTaxBenefits', window );">Reserves for uncertain tax positions</a></td>
<td class="nump">999<span></span>
</td>
<td class="nump">1,942<span></span>
</td>
<td class="nump">$ 1,680<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions', window );">Unrecognized tax benefits</a></td>
<td class="nump">1,309<span></span>
</td>
<td class="nump">$ 68<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_ConsolidatedEntitiesAxis=inod_CanadianSubsidiariesMember', window );">Canadian subsidiaries</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_inod_IncomeTaxesLineItems', window );"><strong>Income Taxes</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_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration', window );">NOL carryforwards subject to expiration</a></td>
<td class="nump">23,200<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_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration', window );">Research and development credits not subject to expiration</a></td>
<td class="nump">1,300<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_ConsolidatedEntitiesAxis=inod_GermanAndUnitedKingdomSubsidiariesMember', window );">German and United Kingdom subsidiaries</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_inod_IncomeTaxesLineItems', window );"><strong>Income Taxes</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_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">700<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_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember', window );">U.S. federal</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_inod_IncomeTaxesLineItems', window );"><strong>Income Taxes</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_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">10,600<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_DeferredTaxAssetsTaxCreditCarryforwardsResearch', window );">Research and development credits</a></td>
<td class="nump">100<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_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember', window );">State</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_inod_IncomeTaxesLineItems', window );"><strong>Income Taxes</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_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">6,500<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_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember', window );">Foreign tax jurisdiction | Agility</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_inod_IncomeTaxesLineItems', window );"><strong>Income Taxes</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_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">$ 400<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_inod_IncomeTaxesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_IncomeTaxesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 that are not subject to expiration dates.</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_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 that are subject to expiration dates.</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_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible research tax credit carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://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_DeferredTaxAssetsTaxCreditCarryforwardsResearch</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_UndistributedEarningsOfForeignSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of undistributed earnings of foreign subsidiaries intended to be permanently reinvested outside the country of domicile.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 740<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/2147482603/740-30-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482620/740-10-25-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 740<br> -Topic 942<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477617/942-740-50-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 740<br> -Topic 944<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478822/944-740-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_UndistributedEarningsOfForeignSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period 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/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)(1)<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_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=inod_CanadianSubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ConsolidatedEntitiesAxis=inod_CanadianSubsidiariesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_ConsolidatedEntitiesAxis=inod_GermanAndUnitedKingdomSubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ConsolidatedEntitiesAxis=inod_GermanAndUnitedKingdomSubsidiariesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_ConsolidatedEntitiesAxis=inod_AgilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ConsolidatedEntitiesAxis=inod_AgilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491677756816">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Long-term obligations (Details) - USD ($)<br> $ in Thousands</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_inod_LongTermObligationsAbstract', window );"><strong>Long-term obligations</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_PostemploymentBenefitsLiabilityCurrentAndNoncurrent', window );">Pension obligations - accrued pension liability</a></td>
<td class="nump">$ 7,945<span></span>
</td>
<td class="nump">$ 7,128<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_inod_MicrosoftLicensesObligations', window );">Microsoft licenses</a></td>
<td class="nump">442<span></span>
</td>
<td class="nump">911<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_inod_TotalLongTermObligations', window );">Total long-term obligations</a></td>
<td class="nump">8,387<span></span>
</td>
<td class="nump">8,039<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_inod_CurrentPortionOfLongTermObligations', window );">Less: Current portion of long-term obligations</a></td>
<td class="nump">1,643<span></span>
</td>
<td class="nump">1,261<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_inod_NoncurrentPortionOfLongTermObligations', window );">Totals</a></td>
<td class="nump">6,744<span></span>
</td>
<td class="nump">$ 6,778<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_inod_LicensesObligationsAmountPayableAnnually', window );">Microsoft licenses, Amount payable annually over the term of the agreement</a></td>
<td class="nump">$ 400<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_inod_CurrentPortionOfLongTermObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 portion of long-term obligations of the 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;">inod_CurrentPortionOfLongTermObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_inod_LicensesObligationsAmountPayableAnnually">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount payable annually over the term of the license agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_LicensesObligationsAmountPayableAnnually</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_inod_LongTermObligationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_LongTermObligationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_MicrosoftLicensesObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of Microsoft licenses obligations as of balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_MicrosoftLicensesObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_inod_NoncurrentPortionOfLongTermObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The non-current portion of long-term obligations of the 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;">inod_NoncurrentPortionOfLongTermObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_inod_TotalLongTermObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of long-term obligations of the 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;">inod_TotalLongTermObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PostemploymentBenefitsLiabilityCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 amount as of the balance sheet date of the obligations recognized for the various benefits provided to former or inactive employees, their beneficiaries, and covered dependents after employment but before retirement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 712<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481179/712-10-25-4<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 712<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481179/712-10-25-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_PostemploymentBenefitsLiabilityCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>75
<FILENAME>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491677768736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies (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>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies</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_LitigationReserve', window );">Estimated litigation liability</a></td>
<td class="nump">$ 5,600,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_inod_InterestRateDescriptionLitigation', window );">Interest rate description litigation</a></td>
<td class="text">plus legal interest that accrued at 12% per annum from August 13, 2008 to June 30, 2013, and thereafter accrued and continues to accrue at 6% per annum<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingencyAccrualAtCarryingValue', window );">Litigation settlement expense</a></td>
<td class="nump">$ 450,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_InterestRateDescriptionLitigation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Description of the interest rate relating to Litigation</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_InterestRateDescriptionLitigation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LitigationReserve">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 carrying amount of the estimated litigation liability for known or estimated probable loss from litigation, which may include attorneys' fees and other litigation costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LitigationReserve</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LossContingencyAccrualAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of loss contingency liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingencyAccrualAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491665440128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Operating Leases (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_srt_RangeAxis=srt_MinimumMember', window );">Minimum</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_LesseeLeaseDescriptionLineItems', window );"><strong>Operating Leases</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_LesseeOperatingLeaseTermOfContract', window );">Lease agreements term</a></td>
<td class="text">3 years<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_inod_PercentageOfRentalEscalations', window );">Percentage of rental escalations</a></td>
<td class="nump">1.75%<span></span>
</td>
</tr>
<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</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_LesseeLeaseDescriptionLineItems', window );"><strong>Operating Leases</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_LesseeOperatingLeaseTermOfContract', window );">Lease agreements term</a></td>
<td class="text">11 years<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_inod_PercentageOfRentalEscalations', window );">Percentage of rental escalations</a></td>
<td class="nump">15.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_PercentageOfRentalEscalations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 rental escalations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_PercentageOfRentalEscalations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_LesseeLeaseDescriptionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<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 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-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_LesseeLeaseDescriptionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseTermOfContract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<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/2147478964/842-20-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_LesseeOperatingLeaseTermOfContract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491672857008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Operating Leases - Financial statements related to operating leases (Details) - USD ($)<br> $ in Thousands</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_LesseeLeaseDescriptionLineItems', window );"><strong>Operating 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_OperatingLeaseExpense', window );">Total rent expense</a></td>
<td class="nump">$ 1,435<span></span>
</td>
<td class="nump">$ 1,557<span></span>
</td>
</tr>
<tr class="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=inod_LongTermOperatingLeaseMember', window );">Long-term operating leases</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Operating Leases</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_OperatingLeaseExpense', window );">Total rent expense</a></td>
<td class="nump">1,257<span></span>
</td>
<td class="nump">1,252<span></span>
</td>
</tr>
<tr class="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=inod_ShortTermOperatingLeaseMember', window );">Short-term operating leases</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_LesseeLeaseDescriptionLineItems', window );"><strong>Operating 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_OperatingLeaseExpense', window );">Total rent expense</a></td>
<td class="nump">$ 178<span></span>
</td>
<td class="nump">$ 305<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_LesseeLeaseDescriptionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<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 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-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_LesseeLeaseDescriptionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_PropertyPlantAndEquipmentByTypeAxis=inod_LongTermOperatingLeaseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=inod_LongTermOperatingLeaseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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=inod_ShortTermOperatingLeaseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=inod_ShortTermOperatingLeaseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491667372224">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Operating Leases - Net present value of the operating lease liability (Details) - USD ($)<br> $ in Thousands</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_LesseeDisclosureAbstract', window );"><strong>Operating Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2025</a></td>
<td class="nump">$ 1,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2026</a></td>
<td class="nump">1,332<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2027</a></td>
<td class="nump">1,328<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2028</a></td>
<td class="nump">957<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive', window );">2029</a></td>
<td class="nump">695<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_inod_LesseeOperatingLeaseLiabilityToBePaidThereafter', window );">2030 and thereafter</a></td>
<td class="nump">175<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total lease payments</a></td>
<td class="nump">5,787<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less: Interest</a></td>
<td class="num">(1,132)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Net present value of lease liabilities</a></td>
<td class="nump">4,655<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">877<span></span>
</td>
<td class="nump">$ 782<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Long-term portion</a></td>
<td class="nump">3,778<span></span>
</td>
<td class="nump">$ 4,701<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_OperatingLeaseLiability', window );">Total</a></td>
<td class="nump">$ 4,655<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_inod_LesseeOperatingLeaseLiabilityToBePaidThereafter">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease due thereafter. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_LesseeOperatingLeaseLiabilityToBePaidThereafter</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LesseeDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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>
</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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491667835424">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Operating Leases - Weighted average remaining lease terms (Details)<br></strong></div></th>
<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_LesseeDisclosureAbstract', window );"><strong>Operating 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_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted-average lease term remaining (in months)</a></td>
<td class="text">51 months<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted-average discount rate</a></td>
<td class="nump">9.39%<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_LesseeDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for operating lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491677558576">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pension Benefits - Benefit Obligations (Details) - USD ($)<br> $ in Thousands</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_CompensationAndRetirementDisclosureAbstract', window );"><strong>Pension Benefits</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_DefinedBenefitPlanBenefitObligation', window );">Projected benefit obligation at beginning of the year</a></td>
<td class="nump">$ 7,128<span></span>
</td>
<td class="nump">$ 5,906<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanServiceCost', window );">Service cost</a></td>
<td class="nump">717<span></span>
</td>
<td class="nump">568<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanInterestCost', window );">Interest cost</a></td>
<td class="nump">$ 522<span></span>
</td>
<td class="nump">$ 478<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList', window );">Defined Benefit Plan, Net Periodic Benefit Cost (Credit), Interest Cost, Statement of Income or Comprehensive Income [Extensible Enumeration]</a></td>
<td class="text">Interest Income (Expense), Nonoperating, Net<span></span>
</td>
<td class="text">Interest Income (Expense), Nonoperating, Net<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanActuarialGainLoss', window );">Actuarial loss (gain)</a></td>
<td class="num">$ (105)<span></span>
</td>
<td class="nump">$ 324<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss', window );">Foreign currency exchange rates changes</a></td>
<td class="num">(166)<span></span>
</td>
<td class="nump">54<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid', window );">Benefits paid</a></td>
<td class="num">(151)<span></span>
</td>
<td class="num">(202)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanBenefitObligation', window );">Projected benefit obligation at end of the year</a></td>
<td class="nump">$ 7,945<span></span>
</td>
<td class="nump">$ 7,128<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanActuarialGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) from change in actuarial assumptions which (increases) decreases benefit obligation of defined benefit plan. Assumptions include, but are not limited to, interest, mortality, employee turnover, salary, and temporary deviation from substantive 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 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanActuarialGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DefinedBenefitPlanBenefitObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of actuarial present value of benefits attributed to service rendered by employee for defined benefit 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 715<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/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanBenefitObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DefinedBenefitPlanBenefitObligationBenefitsPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of payment to participant of defined benefit plan which decreases benefit obligation. For pension plan, payment includes, but is not limited to, pension benefits and death benefits. For other postretirement plan, payment includes, but is not limited to, prescription drug benefits, health care benefits, life insurance benefits, and legal, educational and advisory 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 715<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480266/715-60-50-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(6)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DefinedBenefitPlanInterestCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 recognized for passage of time related to defined benefit 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/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480535/715-20-45-3A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-18<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanInterestCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 line item in statement of income or comprehensive income that includes interest cost component of net periodic benefit cost (credit) for defined benefit 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 715<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/2147480506/715-20-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of foreign currency translation gain (loss) which increases (decreases) plan assets of defined benefit 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 715<br> -SubTopic 20<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/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DefinedBenefitPlanServiceCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 for actuarial present value of benefits attributed to service rendered by employee for defined benefit 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/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-17<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-18<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanServiceCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491665477344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pension Benefits - Components of Net Periodic Pension Cost (Details) - USD ($)<br> $ in Thousands</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_CompensationAndRetirementDisclosureAbstract', window );"><strong>Pension Benefits</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_DefinedBenefitPlanServiceCost', window );">Service cost</a></td>
<td class="nump">$ 717<span></span>
</td>
<td class="nump">$ 568<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanInterestCost', window );">Interest cost</a></td>
<td class="nump">522<span></span>
</td>
<td class="nump">478<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit', window );">Actuarial loss recognized</a></td>
<td class="num">$ (2)<span></span>
</td>
<td class="nump">$ 147<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList', window );">Defined Benefit Plan, Net Periodic Benefit (Cost) Credit, Immediate Recognition of Actuarial Gain (Loss), Statement of Income or Comprehensive Income [Extensible Enumeration]</a></td>
<td class="text">Other Comprehensive Income (Loss), Pension and Other Postretirement Benefit Plans, Adjustment, Net Of Tax<span></span>
</td>
<td class="text">Other Comprehensive Income (Loss), Pension and Other Postretirement Benefit Plans, Adjustment, Net Of Tax<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_DefinedBenefitPlanNetPeriodicBenefitCost', window );">Net periodic pension cost</a></td>
<td class="nump">$ 1,237<span></span>
</td>
<td class="nump">$ 1,193<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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), recognized immediately as component of net periodic benefit (cost) credit, for change in value of benefit obligation or plan assets from experience different from that assumed, change in actuarial assumption, or consequence of temporarily deviating from substantive plan. Includes, but is not limited to, amount in excess of 10 percent of greater of fair value of plan assets or benefit 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 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480535/715-20-45-3A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DefinedBenefitPlanInterestCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 recognized for passage of time related to defined benefit 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/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480535/715-20-45-3A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-18<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanInterestCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DefinedBenefitPlanNetPeriodicBenefitCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 periodic benefit cost (credit) for defined benefit 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/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-17<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-18<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 line item in statement of income or comprehensive income that includes actuarial gain (loss) recognized immediately as component of net periodic benefit (cost) credit for defined benefit 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 715<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/2147480506/715-20-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanServiceCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 for actuarial present value of benefits attributed to service rendered by employee for defined benefit 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/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-17<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-18<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanServiceCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491667399344">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Pension Benefits - Recognized in balance sheets (Details) - USD ($)<br> $ in Thousands</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_CompensationAndRetirementDisclosureAbstract', window );"><strong>Pension Benefits</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_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities', window );">Current accrued benefit cost</a></td>
<td class="nump">$ 1,229<span></span>
</td>
<td class="nump">$ 880<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent', window );">Non-current accrued benefit cost</a></td>
<td class="nump">6,716<span></span>
</td>
<td class="nump">6,248<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_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent', window );">Total amount recognized</a></td>
<td class="nump">$ 7,945<span></span>
</td>
<td class="nump">$ 7,128<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 in statement of financial position, for defined benefit pension and other postretirement plans, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-17<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480535/715-20-45-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480535/715-20-45-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 in statement of financial position, for defined benefit pension and other postretirement plans.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480535/715-20-45-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 in statement of financial position, for defined benefit pension and other postretirement plans, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-17<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480535/715-20-45-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480535/715-20-45-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491673072464">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Pension Benefits - Actuarial assumptions (Details)<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="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</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Pension Benefits</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_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate', window );">Discount rate</a></td>
<td class="nump">6.09%<span></span>
</td>
<td class="nump">6.73%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease', window );">Rate of increase in compensation level</a></td>
<td class="nump">7.00%<span></span>
</td>
<td class="nump">7.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_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Pension Benefits</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_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate', window );">Discount rate</a></td>
<td class="nump">12.00%<span></span>
</td>
<td class="nump">12.80%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease', window );">Rate of increase in compensation level</a></td>
<td class="nump">10.00%<span></span>
</td>
<td class="nump">14.50%<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_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 rate for present value of future retirement benefits cash flows, used to determine benefit obligation of defined benefit 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 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (k)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate</td>
</tr>
<tr>
<td style="padding-right: 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_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 rate increase of compensation, used to determine benefit obligation of defined benefit plan. Plan includes, but is not limited to, pay-related defined benefit 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 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (k)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease</td>
</tr>
<tr>
<td style="padding-right: 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_DefinedBenefitPlanDisclosureLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanDisclosureLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491677748608">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Pension Benefits - Estimated future benefit payments (Details)<br> $ in Thousands</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_CompensationAndRetirementDisclosureAbstract', window );"><strong>Pension Benefits</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths', window );">2025</a></td>
<td class="nump">$ 1,246<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo', window );">2026</a></td>
<td class="nump">320<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree', window );">2027</a></td>
<td class="nump">658<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour', window );">2028</a></td>
<td class="nump">188<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive', window );">2029</a></td>
<td class="nump">606<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearTen', window );">2030 to 2034</a></td>
<td class="nump">5,142<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_inod_DefinedBenefitPlanExpectedFutureBenefitPayments', window );">Total</a></td>
<td class="nump">$ 8,160<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearTen">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of benefit for defined benefit plan expected to be paid in sixth fiscal year to tenth fiscal year following current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearTen</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_inod_DefinedBenefitPlanExpectedFutureBenefitPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of estimated future benefit payments for defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_DefinedBenefitPlanExpectedFutureBenefitPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of benefit for defined benefit plan expected to be paid in next fiscal year following current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of benefit for defined benefit plan expected to be paid in fifth fiscal year following current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of benefit for defined benefit plan expected to be paid in fourth fiscal year following current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of benefit for defined benefit plan expected to be paid in third fiscal year following current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of benefit for defined benefit plan expected to be paid in second fiscal year following current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491673039344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pension Benefits - Additional Information (Details) - USD ($)<br> $ in Millions</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_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Pension Benefits</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_inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible', window );">Period of service to become eligible</a></td>
<td class="text">6 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation', window );">Accumulated benefit obligation</a></td>
<td class="nump">$ 4.7<span></span>
</td>
<td class="nump">$ 3.9<span></span>
</td>
</tr>
<tr class="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=srt_SubsidiariesMember', window );">Subsidiaries</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Pension Benefits</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PensionExpense', window );">Pension expense</a></td>
<td class="nump">$ 1.2<span></span>
</td>
<td class="nump">$ 1.2<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The period of service by substantially all of its U.S. employees to become eligible for the U.S. Defined Contribution Pension Plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_DefinedBenefitPlanAccumulatedBenefitObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of actuarial present value of benefits attributed to employee service rendered, excluding assumptions about future compensation level.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DefinedBenefitPlanDisclosureLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanDisclosureLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PensionExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost (reversal of cost) for pension benefits. Excludes other postretirement benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PensionExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=srt_SubsidiariesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491667418448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Capital Stock (Details)<br> $ / shares in Units, $ in Millions</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($) </div>
<div>Vote / shares </div>
<div>$ / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>shares</div>
</th>
<th class="th">
<div>Jul. 31, 2019 </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_ClassOfStockLineItems', window );"><strong>Capital Stock</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_CommonStockSharesAuthorized', window );">Common stock, shares authorized</a></td>
<td class="nump">75,000,000<span></span>
</td>
<td class="nump">75,000,000<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_inod_NumberOfVotesForEachShareOfCommonStock', window );">Number of votes per share | Vote / shares</a></td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockDividendsPerShareDeclared', window );">Dividends declared (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Serial preferred stock, shares authorized</a></td>
<td class="nump">4,998,000<span></span>
</td>
<td class="nump">4,998,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_CommonStockCapitalSharesReservedForFutureIssuance', window );">Common stock reserved available for future issuance</a></td>
<td class="nump">902,824<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_srt_StockRepurchaseProgramAuthorizedAmount1', window );">Shares authorized to repurchase | $</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2.0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockCommonValue', window );">Treasury Stock, common value | $</a></td>
<td class="nump">$ 1.8<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=inod_July2019Member', window );">July 2019</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_ClassOfStockLineItems', window );"><strong>Capital Stock</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_srt_StockRepurchaseProgramAuthorizedAmount1', window );">Shares authorized to repurchase | $</a></td>
<td class="nump">$ 1.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_TreasuryStockCommonMember', window );">Treasury Stock</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_ClassOfStockLineItems', window );"><strong>Capital Stock</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_StockRepurchasedDuringPeriodShares', window );">Purchase of treasury stock (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_inod_NumberOfVotesForEachShareOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 number of votes for each share of common stock of the 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;">inod_NumberOfVotesForEachShareOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_srt_StockRepurchaseProgramAuthorizedAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount authorized for purchase of share under share repurchase plan. Includes, but is not limited to, repurchase of stock and unit of ownership.</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 505<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481520/505-30-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;">srt_StockRepurchaseProgramAuthorizedAmount1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ClassOfStockLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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/exampleRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (d)<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/recommendedDisclosureRef<br> -Topic 272<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483014/272-10-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 272<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482987/272-10-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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><br>Reference 6: 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 7: 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 (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 8: 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 9: 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 10: 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-18<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(27)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 14: 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(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 16: 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 17: 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)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 18: 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)(ii))<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_ClassOfStockLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate number of common shares reserved for future issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockCapitalSharesReservedForFutureIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockDividendsPerShareDeclared">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate dividends declared during the period for each share of common stock outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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_CommonStockDividendsPerShareDeclared</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_StockRepurchasedDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury 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> -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 (c)<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)(2))<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_StockRepurchasedDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-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_TreasuryStockCommonValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481520/505-30-50-4<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PlanNameAxis=inod_July2019Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=inod_July2019Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_TreasuryStockCommonMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_TreasuryStockCommonMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491667898176">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Options - Weighted Average Fair Values and Assumptions (Details) - Employee Stock Option - $ / 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>Stock Options</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average fair value of options granted (in dollars per share)</a></td>
<td class="nump">$ 32.07<span></span>
</td>
<td class="nump">$ 2.56<span></span>
</td>
</tr>
<tr class="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 );">Risk-free interest rate</a></td>
<td class="nump">4.40%<span></span>
</td>
<td class="nump">4.34%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected term (years)</a></td>
<td class="text">6 years<span></span>
</td>
<td class="text">6 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Expected volatility factor</a></td>
<td class="nump">87.69%<span></span>
</td>
<td class="nump">75.35%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate', window );">Expected dividends</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491672732384">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Options - Summary of Stock Option Activity (Details) - USD ($)<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="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>Stock Options</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod', window );">Number of Options, Granted (in shares)</a></td>
<td class="nump">268,500<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_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Number of Options, Exercised (in shares)</a></td>
<td class="num">(2,506,232)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Outstanding beginning balance (in dollars per shares)</a></td>
<td class="nump">$ 3.22<span></span>
</td>
<td class="nump">$ 3.09<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Granted (in dollars per shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Exercised (in dollars per shares)</a></td>
<td class="nump">$ 2.66<span></span>
</td>
<td class="nump">2.37<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 Forfeited/Expired (in dollars per shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6.27<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 Outstanding Ending balance (in dollars per shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.22<span></span>
</td>
<td class="nump">$ 3.09<span></span>
</td>
</tr>
<tr class="re">
<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 (in dollars per shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2.18<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Vested and Expected to Vest (in dollars per shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.22<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units | 2013 Stock Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of Options, Outstanding - Ending balance (in shares)</a></td>
<td class="nump">200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units | 2021 Stock Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of Options, Outstanding - Ending balance (in shares)</a></td>
<td class="nump">1,049,079<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units | Equity Plans</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod', window );">Number of Options, Forfeited/Expired (in shares)</a></td>
<td class="num">(995)<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_OptionIndexedToIssuersEquityEquityAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option | 2013 Stock Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of Options, Outstanding - Beginning balance (in shares)</a></td>
<td class="nump">5,339,162<span></span>
</td>
<td class="nump">6,690,490<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 Options, Granted (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25,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_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Number of Options, Exercised (in shares)</a></td>
<td class="num">(2,169,968)<span></span>
</td>
<td class="num">(1,287,462)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod', window );">Number of Options, Forfeited/Expired (in shares)</a></td>
<td class="num">(4,001)<span></span>
</td>
<td class="num">(88,866)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 Options, Outstanding - Ending balance (in shares)</a></td>
<td class="nump">3,165,193<span></span>
</td>
<td class="nump">5,339,162<span></span>
</td>
<td class="nump">6,690,490<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Number of Options Exercisable (in shares)</a></td>
<td class="nump">1,673,966<span></span>
</td>
<td class="nump">3,475,780<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber', window );">Number of Options, Vested and Expected to Vest (in shares)</a></td>
<td class="nump">3,165,193<span></span>
</td>
<td class="nump">5,339,162<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 Outstanding beginning balance (in dollars per shares)</a></td>
<td class="nump">$ 3.22<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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Exercised (in dollars per shares)</a></td>
<td class="nump">2.54<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Forfeited/Expired (in dollars per shares)</a></td>
<td class="nump">6.96<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Outstanding Ending balance (in dollars per shares)</a></td>
<td class="nump">3.67<span></span>
</td>
<td class="nump">$ 3.22<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 (in dollars per shares)</a></td>
<td class="nump">2.54<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Vested and Expected to Vest (in dollars per shares)</a></td>
<td class="nump">$ 3.67<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted Average Remaining Contractual Term Outstanding (in years)</a></td>
<td class="text">6 years 3 months 25 days<span></span>
</td>
<td class="text">6 years 4 months 17 days<span></span>
</td>
<td class="text">7 years 2 months 8 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Weighted Average Remaining Contractual Term Exercisable (in years)</a></td>
<td class="text">5 years 6 months 3 days<span></span>
</td>
<td class="text">6 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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Weighted Average Remaining Contractual Term Vested and Expected to Vest (in years)</a></td>
<td class="text">6 years 3 months 25 days<span></span>
</td>
<td class="text">6 years 4 months 17 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Aggregate Intrinsic Value, Outstanding</a></td>
<td class="nump">$ 113,458,326<span></span>
</td>
<td class="nump">$ 28,640,009<span></span>
</td>
<td class="nump">$ 5,989,709<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1', window );">Aggregate Intrinsic Value, Exercisable</a></td>
<td class="nump">61,901,891<span></span>
</td>
<td class="nump">22,237,334<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue', window );">Aggregate Intrinsic Value, Vested and Expected to Vest</a></td>
<td class="nump">$ 113,458,326<span></span>
</td>
<td class="nump">$ 28,640,009<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_OptionIndexedToIssuersEquityEquityAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option | 2021 Stock Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of Options, Outstanding - Beginning balance (in shares)</a></td>
<td class="nump">923,571<span></span>
</td>
<td class="nump">1,027,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 Options, Granted (in shares)</a></td>
<td class="nump">268,500<span></span>
</td>
<td class="nump">3,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Number of Options, Exercised (in shares)</a></td>
<td class="num">(336,264)<span></span>
</td>
<td class="num">(63,595)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 Options, Forfeited/Expired (in shares)</a></td>
<td class="num">(13,536)<span></span>
</td>
<td class="num">(43,334)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 Options, Outstanding - Ending balance (in shares)</a></td>
<td class="nump">842,271<span></span>
</td>
<td class="nump">923,571<span></span>
</td>
<td class="nump">1,027,500<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Number of Options Exercisable (in shares)</a></td>
<td class="nump">314,244<span></span>
</td>
<td class="nump">386,209<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber', window );">Number of Options, Vested and Expected to Vest (in shares)</a></td>
<td class="nump">842,271<span></span>
</td>
<td class="nump">923,571<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 Outstanding beginning balance (in dollars per shares)</a></td>
<td class="nump">$ 3.41<span></span>
</td>
<td class="nump">$ 3.46<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Granted (in dollars per shares)</a></td>
<td class="nump">42.57<span></span>
</td>
<td class="nump">13.05<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 (in dollars per shares)</a></td>
<td class="nump">3.44<span></span>
</td>
<td class="nump">4.59<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 Forfeited/Expired (in dollars per shares)</a></td>
<td class="nump">4.84<span></span>
</td>
<td class="nump">3.41<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 Outstanding Ending balance (in dollars per shares)</a></td>
<td class="nump">15.86<span></span>
</td>
<td class="nump">3.41<span></span>
</td>
<td class="nump">$ 3.46<span></span>
</td>
</tr>
<tr class="re">
<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 (in dollars per shares)</a></td>
<td class="nump">3.32<span></span>
</td>
<td class="nump">3.34<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Vested and Expected to Vest (in dollars per shares)</a></td>
<td class="nump">$ 15.86<span></span>
</td>
<td class="nump">$ 3.41<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted Average Remaining Contractual Term Outstanding (in years)</a></td>
<td class="text">8 years 5 months 15 days<span></span>
</td>
<td class="text">8 years 9 months 3 days<span></span>
</td>
<td class="text">9 years 9 months<span></span>
</td>
</tr>
<tr class="ro">
<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 Term Exercisable (in years)</a></td>
<td class="text">7 years 8 months 23 days<span></span>
</td>
<td class="text">8 years 8 months 26 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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Weighted Average Remaining Contractual Term Vested and Expected to Vest (in years)</a></td>
<td class="text">8 years 5 months 15 days<span></span>
</td>
<td class="text">8 years 9 months 3 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Aggregate Intrinsic Value, Outstanding</a></td>
<td class="nump">$ 20,847,471<span></span>
</td>
<td class="nump">$ 4,786,252<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1', window );">Aggregate Intrinsic Value, Exercisable</a></td>
<td class="nump">11,374,251<span></span>
</td>
<td class="nump">2,023,601<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue', window );">Aggregate Intrinsic Value, Vested and Expected to Vest</a></td>
<td class="nump">$ 20,847,471<span></span>
</td>
<td class="nump">$ 4,786,252<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_OptionIndexedToIssuersEquityEquityAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option | Non employee director | 2013 Stock Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod', window );">Number of Options, Granted (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25,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_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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which option holders acquired shares when converting their stock options into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=inod_TwoThousandThirteenStockPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=inod_TwoThousandThirteenStockPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=inod_TwoThousandTwentyOneEquityCompensationPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=inod_TwoThousandTwentyOneEquityCompensationPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=inod_EquityPlansMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=inod_EquityPlansMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_OptionIndexedToIssuersEquityEquityAxis=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_OptionIndexedToIssuersEquityEquityAxis=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_srt_TitleOfIndividualAxis=srt_DirectorMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=srt_DirectorMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491671652672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Options - Summary of stock option and Restricted Stock option activity (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>Stock Options</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_ShareBasedPaymentArrangementGranteeStatusExtensibleList', window );">Share-Based Payment Arrangement, Grantee Status [Extensible Enumeration]</a></td>
<td class="text">us-gaap:ShareBasedPaymentArrangementNonemployeeMember<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units | Equity Plans</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>Stock Options</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Number of Restricted Stock Units, Unvested at Beginning of the year</a></td>
<td class="nump">749,756<span></span>
</td>
<td class="nump">700,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number of Restricted Stock Units, Granted</a></td>
<td class="nump">549,079<span></span>
</td>
<td class="nump">49,756<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Number of Restricted Stock Units, Vested</a></td>
<td class="num">(48,761)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Number of Restricted Stock Units, Unvested at End of the year</a></td>
<td class="nump">1,249,079<span></span>
</td>
<td class="nump">749,756<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted-Average Grant Date Fair Value, Outstanding at Beginning of the year</a></td>
<td class="nump">$ 5.77<span></span>
</td>
<td class="nump">$ 5.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted-Average Grant Date Fair Value, Granted</a></td>
<td class="nump">40.61<span></span>
</td>
<td class="nump">8.29<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Weighted-Average Grant Date Fair Value, Vested</a></td>
<td class="nump">8.42<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Weighted-Average Grant Date Fair Value, Forfeited/Expired</a></td>
<td class="nump">8.29<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted-Average Grant Date Fair Value, Outstanding at End of the year</a></td>
<td class="nump">$ 20.98<span></span>
</td>
<td class="nump">$ 5.77<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=inod_NonEmployeeMember', window );">Non-employees and non-employee directors | Restricted Stock Units | Equity Plans</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>Stock Options</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number of Restricted Stock Units, Granted</a></td>
<td class="nump">34,246<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating 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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.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 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)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested 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>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(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)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 equity-based payment instruments, excluding stock (or unit) options, that vested 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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the 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 (c)(2)(iii)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 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_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_ShareBasedPaymentArrangementGranteeStatusExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 status of recipient to whom award under share-based payment arrangement is granted.</p></div>
<a href="javascript: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_ShareBasedPaymentArrangementGranteeStatusExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=inod_EquityPlansMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=inod_EquityPlansMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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=inod_NonEmployeeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=inod_NonEmployeeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491669165808">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Options - Additional Information (Details)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1">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>Dec. 31, 2024 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>shares</div>
</th>
<th class="th">
<div>Jun. 09, 2023 </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>shares</div>
</th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Compensation cost related to non-vested stock options and restricted stock awards not yet recognized | $</a></td>
<td class="nump">$ 21.9<span></span>
</td>
<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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Weighted-average period over which compensation cost recognized</a></td>
<td class="text">16 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OptionIndexedToIssuersEquityEquityAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Compensation cost related to non-vested stock options and restricted stock awards not yet recognized | $</a></td>
<td class="nump">$ 9.1<span></span>
</td>
<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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Weighted-average period over which compensation cost recognized</a></td>
<td class="text">34 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=inod_TwoThousandThirteenStockPlanMember', window );">2013 Stock Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</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_inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights', window );">Shares of common stock underlying outstanding options or rights</a></td>
<td class="nump">3,365,193<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=inod_TwoThousandThirteenStockPlanMember', window );">2013 Stock Plan | Restricted Stock Units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of Options, Outstanding</a></td>
<td class="nump">200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=inod_TwoThousandThirteenStockPlanMember', window );">2013 Stock Plan | Employee Stock Option</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of Options, Outstanding</a></td>
<td class="nump">3,165,193<span></span>
</td>
<td class="nump">5,339,162<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,690,490<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=inod_TwoThousandTwentyOneEquityCompensationPlanMember', window );">2021 Stock Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Share-based compensation arrangement by share-based payment award, number of shares authorized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,000,000<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_inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio', window );">Share reserve ratio</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=inod_TwoThousandTwentyOneEquityCompensationPlanMember', window );">2021 Stock Plan | Restricted Stock Units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of Options, Outstanding</a></td>
<td class="nump">1,049,079<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=inod_TwoThousandTwentyOneEquityCompensationPlanMember', window );">2021 Stock Plan | Employee Stock Option</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of Options, Outstanding</a></td>
<td class="nump">842,271<span></span>
</td>
<td class="nump">923,571<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,027,500<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember', window );">Other type of award</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</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_inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio', window );">Share reserve ratio</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=inod_AwardsGrantedPriorToApril112022Member', window );">Awards granted prior to April 11, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</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_inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio', window );">Share reserve ratio</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_PlanNameAxis=inod_AwardsGrantedOnOrAfterApril112022Member', window );">Awards granted on or after April 11, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</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_inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio', window );">Share reserve ratio</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 ratio of shares reserved subject to an option or stock appreciation right granted under award plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 our common stock underlying outstanding options or rights under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost not yet recognized for nonvested award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares authorized for issuance under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OptionIndexedToIssuersEquityEquityAxis=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_OptionIndexedToIssuersEquityEquityAxis=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_PlanNameAxis=inod_TwoThousandThirteenStockPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=inod_TwoThousandThirteenStockPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=inod_TwoThousandTwentyOneEquityCompensationPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=inod_TwoThousandTwentyOneEquityCompensationPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=inod_AwardsGrantedPriorToApril112022Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=inod_AwardsGrantedPriorToApril112022Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=inod_AwardsGrantedOnOrAfterApril112022Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=inod_AwardsGrantedOnOrAfterApril112022Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491666599088">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Redemption of non-controlling interest (Details) - USD ($)<br> $ in Thousands</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_RedeemableNoncontrollingInterestLineItems', window );"><strong>Redemption of non-controlling interest</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_inod_NoncontrollingInterestRedemptionPercentageByParent', window );">Non controlling interest redemption percentage</a></td>
<td class="nump">6.10%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount', window );">Non-controlling interests</a></td>
<td class="num">$ (83)<span></span>
</td>
<td class="num">$ (708)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=us-gaap_AdditionalPaidInCapitalMember', window );">Additional Paid-in Capital</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_RedeemableNoncontrollingInterestLineItems', window );"><strong>Redemption of non-controlling interest</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_RedeemableNoncontrollingInterestEquityCarryingAmount', window );">Non-controlling interests</a></td>
<td class="nump">$ 600<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_inod_NoncontrollingInterestRedemptionPercentageByParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Redemption of 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;">inod_NoncontrollingInterestRedemptionPercentageByParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_RedeemableNoncontrollingInterestEquityCarryingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>As of the reporting date, the aggregate carrying amount of all noncontrolling interests which are redeemable by the (parent) entity (1) at a fixed or determinable price on a fixed or determinable date, (2) at the option of the holder of the noncontrolling interest, or (3) upon occurrence of an event that is not solely within the control of the (parent) entity. This item includes noncontrolling interest holder's ownership (or holders' ownership) regardless of the type of equity interest (common, preferred, other) including all potential organizational (legal) forms of the investee 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> -Topic 480<br> -SubTopic 10<br> -Subparagraph (12)(c)<br> -Section S99<br> -Paragraph 3A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480244/480-10-S99-3A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Subparagraph (16)(c)<br> -Paragraph 3A<br> -Section S99<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480244/480-10-S99-3A<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3A<br> -Subparagraph (15)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480244/480-10-S99-3A<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3A<br> -Subparagraph (14)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480244/480-10-S99-3A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RedeemableNoncontrollingInterestLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_RedeemableNoncontrollingInterestLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=us-gaap_AdditionalPaidInCapitalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=us-gaap_AdditionalPaidInCapitalMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491671518112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Comprehensive loss - Reclassifications from accumulated other comprehensive loss (Details) - USD ($)<br> $ in Thousands</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_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Comprehensive income (loss)</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_StockholdersEquity', window );">Balance at the beginning</a></td>
<td class="nump">$ 25,703<span></span>
</td>
<td class="nump">$ 18,773<span></span>
</td>
</tr>
<tr class="re">
<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 );">Balance at the end</a></td>
<td class="nump">63,472<span></span>
</td>
<td class="nump">25,703<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember', window );">Pension Liability Adjustment</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_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Comprehensive income (loss)</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_StockholdersEquity', window );">Balance at the beginning</a></td>
<td class="num">(412)<span></span>
</td>
<td class="num">(86)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax', window );">Other comprehensive income (loss) before reclassifications, net of taxes</a></td>
<td class="nump">172<span></span>
</td>
<td class="num">(322)<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_inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax', window );">Total other comprehensive income (loss) before reclassifications, net of taxes</a></td>
<td class="num">(240)<span></span>
</td>
<td class="num">(408)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax', window );">Net amount reclassified to earnings</a></td>
<td class="nump">7<span></span>
</td>
<td class="num">(4)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at the end</a></td>
<td class="num">(233)<span></span>
</td>
<td class="num">(412)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember', window );">Fair Value of Derivatives</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Comprehensive income (loss)</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_StockholdersEquity', window );">Balance at the beginning</a></td>
<td class="nump">41<span></span>
</td>
<td class="num">(365)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax', window );">Other comprehensive income (loss) before reclassifications, net of taxes</a></td>
<td class="num">(494)<span></span>
</td>
<td class="nump">185<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_inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax', window );">Total other comprehensive income (loss) before reclassifications, net of taxes</a></td>
<td class="num">(453)<span></span>
</td>
<td class="num">(180)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax', window );">Net amount reclassified to earnings</a></td>
<td class="nump">58<span></span>
</td>
<td class="nump">221<span></span>
</td>
</tr>
<tr class="re">
<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 );">Balance at the end</a></td>
<td class="num">(395)<span></span>
</td>
<td class="nump">41<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedTranslationAdjustmentMember', window );">Foreign Currency Translation Adjustment</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_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Comprehensive income (loss)</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_StockholdersEquity', window );">Balance at the beginning</a></td>
<td class="num">(1,250)<span></span>
</td>
<td class="num">(1,657)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax', window );">Other comprehensive income (loss) before reclassifications, net of taxes</a></td>
<td class="num">(592)<span></span>
</td>
<td class="nump">407<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_inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax', window );">Total other comprehensive income (loss) before reclassifications, net of taxes</a></td>
<td class="num">(1,842)<span></span>
</td>
<td class="num">(1,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_StockholdersEquity', window );">Balance at the end</a></td>
<td class="num">(1,842)<span></span>
</td>
<td class="num">(1,250)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember', window );">Accumulated Other Comprehensive Loss</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_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Comprehensive income (loss)</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_StockholdersEquity', window );">Balance at the beginning</a></td>
<td class="num">(1,621)<span></span>
</td>
<td class="num">(2,108)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax', window );">Other comprehensive income (loss) before reclassifications, net of taxes</a></td>
<td class="num">(914)<span></span>
</td>
<td class="nump">270<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_inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax', window );">Total other comprehensive income (loss) before reclassifications, net of taxes</a></td>
<td class="num">(2,535)<span></span>
</td>
<td class="num">(1,838)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax', window );">Net amount reclassified to earnings</a></td>
<td class="nump">65<span></span>
</td>
<td class="nump">217<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Balance at the end</a></td>
<td class="num">$ (2,470)<span></span>
</td>
<td class="num">$ (1,621)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 after tax and before reclassification adjustments of other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccumulatedOtherComprehensiveIncomeLossLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-4<br><br>Reference 2: 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 3: 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 4: 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 5: 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 6: 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<br><br>Reference 7: 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<br><br>Reference 8: 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 (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-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_AccumulatedOtherComprehensiveIncomeLossLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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, before reclassification adjustments of other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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://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 3: 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 4: 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 5: 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-4<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482739/220-10-55-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_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 reclassification adjustments of other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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://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 3: 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 4: 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 5: 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 (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-4<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482739/220-10-55-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_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://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_StatementEquityComponentsAxis=us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedTranslationAdjustmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedTranslationAdjustmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491670064416">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Segment reporting and concentrations (Details) - USD ($)<br> $ in Thousands</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_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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_Assets', window );">Total assets</a></td>
<td class="nump">$ 113,449<span></span>
</td>
<td class="nump">$ 59,431<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">1,998<span></span>
</td>
<td class="nump">2,075<span></span>
</td>
</tr>
<tr class="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=inod_DdsMember', window );">DDS</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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_Assets', window );">Total assets</a></td>
<td class="nump">87,165<span></span>
</td>
<td class="nump">37,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_StatementBusinessSegmentsAxis=inod_SynodexMember', window );">Synodex</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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_Assets', window );">Total assets</a></td>
<td class="nump">4,983<span></span>
</td>
<td class="nump">3,379<span></span>
</td>
</tr>
<tr class="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=inod_AgilityMember', window );">Agility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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_Assets', window );">Total assets</a></td>
<td class="nump">21,301<span></span>
</td>
<td class="nump">18,820<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 2,000<span></span>
</td>
<td class="nump">$ 2,100<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=inod_DdsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=inod_DdsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=inod_SynodexMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=inod_SynodexMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=inod_AgilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=inod_AgilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491666723024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment reporting and concentrations-significant income statement (Details) - USD ($)<br> $ in Thousands</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_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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 );">Revenues</a></td>
<td class="nump">$ 170,461<span></span>
</td>
<td class="nump">$ 86,775<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DirectOperatingCosts', window );">Direct operating costs</a></td>
<td class="nump">103,387<span></span>
</td>
<td class="nump">55,482<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">67,074<span></span>
</td>
<td class="nump">31,293<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling and administrative expenses</a></td>
<td class="nump">42,738<span></span>
</td>
<td class="nump">30,975<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Segment operating income</a></td>
<td class="nump">24,336<span></span>
</td>
<td class="nump">318<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestIncomeExpenseNonoperatingNet', window );">Interest (income) expense, net</a></td>
<td class="num">(149)<span></span>
</td>
<td class="nump">179<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before provision for income taxes</a></td>
<td class="nump">24,485<span></span>
</td>
<td class="nump">139<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=inod_DdsMember', window );">DDS</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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 );">Revenues</a></td>
<td class="nump">141,098<span></span>
</td>
<td class="nump">61,576<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DirectOperatingCosts', window );">Direct operating costs</a></td>
<td class="nump">88,186<span></span>
</td>
<td class="nump">40,057<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">52,912<span></span>
</td>
<td class="nump">21,519<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling and administrative expenses</a></td>
<td class="nump">31,685<span></span>
</td>
<td class="nump">20,085<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 );">Segment operating income</a></td>
<td class="nump">21,227<span></span>
</td>
<td class="nump">1,434<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestIncomeExpenseNonoperatingNet', window );">Interest (income) expense, net</a></td>
<td class="num">(153)<span></span>
</td>
<td class="nump">174<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before provision for income taxes</a></td>
<td class="nump">21,380<span></span>
</td>
<td class="nump">1,260<span></span>
</td>
</tr>
<tr class="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=inod_SynodexMember', window );">Synodex</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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 );">Revenues</a></td>
<td class="nump">7,864<span></span>
</td>
<td class="nump">7,511<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DirectOperatingCosts', window );">Direct operating costs</a></td>
<td class="nump">5,763<span></span>
</td>
<td class="nump">6,712<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">2,101<span></span>
</td>
<td class="nump">799<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling and administrative expenses</a></td>
<td class="nump">194<span></span>
</td>
<td class="nump">580<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Segment operating income</a></td>
<td class="nump">1,907<span></span>
</td>
<td class="nump">219<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before provision for income taxes</a></td>
<td class="nump">1,907<span></span>
</td>
<td class="nump">219<span></span>
</td>
</tr>
<tr class="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=inod_AgilityMember', window );">Agility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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 );">Revenues</a></td>
<td class="nump">21,499<span></span>
</td>
<td class="nump">17,688<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DirectOperatingCosts', window );">Direct operating costs</a></td>
<td class="nump">9,438<span></span>
</td>
<td class="nump">8,713<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">12,061<span></span>
</td>
<td class="nump">8,975<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling and administrative expenses</a></td>
<td class="nump">10,859<span></span>
</td>
<td class="nump">10,310<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Segment operating income</a></td>
<td class="nump">1,202<span></span>
</td>
<td class="num">(1,335)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestIncomeExpenseNonoperatingNet', window );">Interest (income) expense, net</a></td>
<td class="nump">4<span></span>
</td>
<td class="nump">5<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before provision for income taxes</a></td>
<td class="nump">$ 1,198<span></span>
</td>
<td class="num">$ (1,340)<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_DirectOperatingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 direct operating costs incurred 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DirectOperatingCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_InterestIncomeExpenseNonoperatingNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 (expense) classified as nonoperating.</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)<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 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestIncomeExpenseNonoperatingNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=inod_DdsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=inod_DdsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=inod_SynodexMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=inod_SynodexMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=inod_AgilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=inod_AgilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491673006112">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Segment reporting and concentrations - Long-lived assets (Details) - USD ($)<br> $ in Thousands</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>Segment reporting and concentrations</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 );">Long - lived assets</a></td>
<td class="nump">$ 23,690<span></span>
</td>
<td class="nump">$ 23,168<span></span>
</td>
</tr>
<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="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>Segment reporting and concentrations</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 );">Long - lived assets</a></td>
<td class="nump">10,182<span></span>
</td>
<td class="nump">9,101<span></span>
</td>
</tr>
<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="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>Segment reporting and concentrations</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 );">Long - lived assets</a></td>
<td class="nump">6,265<span></span>
</td>
<td class="nump">7,328<span></span>
</td>
</tr>
<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_GB', window );">United Kingdom</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>Segment reporting and concentrations</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 );">Long - lived assets</a></td>
<td class="nump">806<span></span>
</td>
<td class="nump">1,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_StatementGeographicalAxis=country_PH', window );">Philippines</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>Segment reporting and concentrations</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 );">Long - lived assets</a></td>
<td class="nump">3,532<span></span>
</td>
<td class="nump">3,484<span></span>
</td>
</tr>
<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_IN', window );">India</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>Segment reporting and concentrations</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 );">Long - lived assets</a></td>
<td class="nump">2,251<span></span>
</td>
<td class="nump">1,791<span></span>
</td>
</tr>
<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_LK', window );">Sri Lanka</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>Segment reporting and concentrations</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 );">Long - lived assets</a></td>
<td class="nump">587<span></span>
</td>
<td class="nump">423<span></span>
</td>
</tr>
<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=stpr_IL', window );">Israel</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>Segment reporting and concentrations</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 );">Long - lived assets</a></td>
<td class="nump">63<span></span>
</td>
<td class="nump">13<span></span>
</td>
</tr>
<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_DE', window );">Germany</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>Segment reporting and concentrations</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 );">Long - lived assets</a></td>
<td class="nump">4<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_StatementGeographicalAxis=inod_ForeignCountriesMember', window );">Total foreign</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>Segment reporting and concentrations</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 );">Long - lived assets</a></td>
<td class="nump">$ 13,508<span></span>
</td>
<td class="nump">$ 14,067<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_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_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_GB">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_GB</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_PH">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_PH</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_IN">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_IN</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_LK">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_LK</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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=stpr_IL">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=stpr_IL</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_DE">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_DE</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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=inod_ForeignCountriesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=inod_ForeignCountriesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491666921056">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment reporting and concentrations - Revenues by geographic region (Details) - USD ($)<br> $ in Thousands</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_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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 );">Revenues</a></td>
<td class="nump">$ 170,461<span></span>
</td>
<td class="nump">$ 86,775<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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 );">Revenues</a></td>
<td class="nump">133,876<span></span>
</td>
<td class="nump">54,430<span></span>
</td>
</tr>
<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_GB', window );">United Kingdom</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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 );">Revenues</a></td>
<td class="nump">10,006<span></span>
</td>
<td class="nump">10,766<span></span>
</td>
</tr>
<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_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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 );">Revenues</a></td>
<td class="nump">8,696<span></span>
</td>
<td class="nump">7,156<span></span>
</td>
</tr>
<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_NL', window );">The Netherlands</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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 );">Revenues</a></td>
<td class="nump">8,059<span></span>
</td>
<td class="nump">7,291<span></span>
</td>
</tr>
<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=inod_OtherPrincipallyEuropeMember', window );">Others - principally other European countries</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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 );">Revenues</a></td>
<td class="nump">$ 9,824<span></span>
</td>
<td class="nump">$ 7,132<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_GB">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_GB</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_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_NL">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_NL</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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=inod_OtherPrincipallyEuropeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=inod_OtherPrincipallyEuropeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491669480288">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment reporting and concentrations - Additional information (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($) </div>
<div>customer </div>
<div>segment</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>customer</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfReportableSegments', window );">Number of reporting segments | segment</a></td>
<td class="nump">3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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-asset, net | $</a></td>
<td class="nump">$ 4,238<span></span>
</td>
<td class="nump">$ 5,054<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Sales revenue, net | Customer concentration risk | Non-US</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">37.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=inod_ForeignCustomerMember', window );">Foreign customer | Accounts receivable | Customer concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">16.00%<span></span>
</td>
<td class="nump">31.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=inod_OneClientMember', window );">One customer | Sales revenue, net | Customer concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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_inod_NumberOfClient', window );">Number of clients</a></td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">48.00%<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=inod_TwoClientMember', window );">Two customer | Accounts receivable | Customer concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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_inod_NumberOfClient', window );">Number of clients</a></td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">61.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_MajorCustomersAxis=inod_ThreeClientsMember', window );">Three customer | Accounts receivable | Customer concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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_inod_NumberOfClient', window );">Number of clients</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">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_srt_MajorCustomersAxis=inod_ClientMember', window );">Customer | Customer concentration risk | 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_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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_inod_NumberOfClient', window );">Number of clients</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=inod_ClientMember', window );">Customer | Accounts receivable | Customer concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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_inod_NumberOfClient', window );">Number of clients</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=inod_ClientMember', window );">Customer | Minimum | Sales revenue, net | Customer concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">10.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_MajorCustomersAxis=inod_ClientMember', window );">Customer | Minimum | Accounts receivable | Customer concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">10.00%<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_NumberOfClient">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 number of clients.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_NumberOfClient</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-21<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-20<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-18<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/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 2: 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 3: 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_NumberOfReportableSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=us-gaap_NonUsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=us-gaap_NonUsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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=inod_ForeignCustomerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=inod_ForeignCustomerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=inod_OneClientMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=inod_OneClientMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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=inod_TwoClientMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=inod_TwoClientMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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=inod_ThreeClientsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=inod_ThreeClientsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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=inod_ClientMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=inod_ClientMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491667955392">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income (loss) per Share (Details) - USD ($)<br> shares in Thousands, $ in Thousands</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>Income (loss) per Share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income (loss) attributable to Innodata Inc. and Subsidiaries</a></td>
<td class="nump">$ 28,660<span></span>
</td>
<td class="num">$ (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_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted average common shares outstanding</a></td>
<td class="nump">29,163<span></span>
</td>
<td class="nump">28,131<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Dilutive effect of outstanding options and restricted stock units</a></td>
<td class="nump">3,014<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Adjusted for dilutive computation</a></td>
<td class="nump">32,177<span></span>
</td>
<td class="nump">28,131<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480454/718-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-22<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-23<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-28A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491670007344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income (loss) per Share - Additional information (Details) - shares<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></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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive securities excluded from computation of earnings per share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance', window );">Common stock reserved available for future issuance</a></td>
<td class="nump">902,824<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Dilutive effect of outstanding options and restricted stock units</a></td>
<td class="nump">3,014,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_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units</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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive securities excluded from computation of earnings per share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Dilutive effect of outstanding options and restricted stock units</a></td>
<td class="nump">513,455<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive securities excluded from computation of earnings per share</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_CommonStockCapitalSharesReservedForFutureIssuance', window );">Common stock reserved available for future issuance</a></td>
<td class="nump">4,000,000<span></span>
</td>
<td class="nump">6,300,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_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Dilutive effect of outstanding options and restricted stock units</a></td>
<td class="nump">3,700,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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive securities excluded from computation of earnings per share</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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Computation of diluted loss per share</a></td>
<td class="nump">300,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_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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate number of common shares reserved for future issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockCapitalSharesReservedForFutureIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480454/718-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-22<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-23<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-28A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491861048736">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Derivatives - Additional Information (Details) - USD ($)<br> $ in Millions</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_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract', window );"><strong>Derivatives</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_DerivativeNotionalAmount', window );">Derivative notional amount</a></td>
<td class="nump">$ 22.5<span></span>
</td>
<td class="nump">$ 10.5<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_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeNotionalAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Nominal or face amount used to calculate payment on derivative.</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 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-1B<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-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_DerivativeNotionalAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>instant</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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491677710640">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Derivatives - Fair value of derivative instruments (Details) - Foreign currency forward contracts - Designated as hedging instrument - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=us-gaap_AccruedLiabilitiesMember', window );">Accrued expenses and other</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Derivatives, Fair Value</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_DerivativeInstrumentsAndHedgesLiabilities', window );">Derivatives designated as hedging instruments</a></td>
<td class="nump">$ 499<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_BalanceSheetLocationAxis=us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember', window );">Prepaid expenses and other current assets</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_DerivativesFairValueLineItems', window );"><strong>Derivatives, Fair Value</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_DerivativeInstrumentsAndHedgesLiabilities', window );">Derivatives designated as hedging instruments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 41<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_DerivativeInstrumentsAndHedgesLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 as of the balance sheet date of the (a) fair values of all liabilities resulting from contracts that meet the criteria of being accounted for as derivative instruments, and (b) the carrying amounts of the liabilities arising from financial instruments or contracts used to mitigate a specified risk (hedge), and which are expected to be extinguished or otherwise disposed of within a year or the normal operating cycle, if longer, net of the effects of master netting arrangements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 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_DerivativeInstrumentsAndHedgesLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DerivativesFairValueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_DerivativesFairValueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=us-gaap_AccruedLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=us-gaap_AccruedLiabilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeForwardMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeForwardMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491665476288">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivatives - Contracts designated as cash flow hedges (Details) - USD ($)<br> $ in Thousands</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_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract', window );"><strong>Derivatives</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_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax', window );">Net gain (loss) recognized in OCI</a></td>
<td class="num">$ (494)<span></span>
</td>
<td class="nump">$ 185<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax', window );">Net loss reclassified from accumulated OCI into income</a></td>
<td class="num">$ (58)<span></span>
</td>
<td class="num">$ (221)<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_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 and reclassification, of gain (loss) from derivative instrument designated and qualifying cash flow hedge included in assessment of hedge effectiveness.</p></div>
<a href="javascript: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 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4C<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480627/815-20-45-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4A<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 10A<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 reclassification adjustments of other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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://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 3: 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 4: 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 5: 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 (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-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_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>103
<FILENAME>R87.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm45491666540288">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Line Of Credit (Details) - Revolving Credit Facility<br> $ in Millions</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Aug. 05, 2024 </div>
<div>USD ($)</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_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit</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_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="nump">$ 30.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender', window );">Maximum borrowing capacity subject to approval of the lender</a></td>
<td class="nump">$ 50.0<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_inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase', window );">Percentage of eligible accounts considered for determination of borrowing base</a></td>
<td class="nump">85.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_inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase', window );">Percentage of eligible foreign accounts considered for determination of borrowing base</a></td>
<td class="nump">85.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase', window );">Percentage of eligible unbilled accounts considered for determination of borrowing base</a></td>
<td class="nump">80.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_inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase', window );">Maximum amount of eligible foreign accounts considered for determination of borrowing base</a></td>
<td class="nump">$ 4.0<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_inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase', window );">Percentage of all eligible unbilled accounts considered for determination of borrowing base</a></td>
<td class="nump">30.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_inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase', window );">Percentage of all eligible foreign accounts considered for determination of borrowing base</a></td>
<td class="nump">20.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_LineOfCreditFacilityCurrentBorrowingCapacity', window );">Borrowing base calculation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 22.3<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_inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio', window );">Threshold minimum fixed charge coverage ratio required to be maintained</a></td>
<td class="nump">1.1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2.25%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration', window );">Debt Instrument, Variable Interest Rate, Type [Extensible Enumeration]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">us-gaap:SecuredOvernightFinancingRateSofrMember<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Threshold minimum required fixed charge coverage ratio under the line of credit facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum amount of eligible foreign accounts considered for determination of borrowing base under the line of credit facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 eligible accounts subject to the approval of the Lender considered for determination of borrowing base under the line of credit facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 all eligible foreign accounts considered for determination of borrowing base under the line of credit facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 all eligible unbilled accounts considered for determination of borrowing base under the line of credit facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 eligible accounts considered for determination of borrowing base under the line of credit facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 eligible foreign accounts considered for determination of borrowing base under the line of credit facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 eligible unbilled accounts considered for determination of borrowing base under the line of credit facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_DebtInstrumentBasisSpreadOnVariableRate1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage points added to the reference rate to compute the variable rate on the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentBasisSpreadOnVariableRate1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 type of variable interest rate on debt instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 470<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477734/942-470-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_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current borrowing capacity under the credit facility considering any current restrictions on the amount that could be borrowed (for example, borrowings may be limited by the amount of current assets), but without considering any amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>104
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
M0=5 Y3_;U UH]@TT')$%7C&9MC:CY$X*/-S^[PVPPL2.X>V+OP%02P,$%
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
M&V%VI()55[ Z%<QC$>RZ@MV-8!^IX-05G*=VVJTKN)58N]&MI/$HI^>G1?Z
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
MWK[O??,^Y'D?1. KK]12@@]508M]!2,-?FL!>K3@/0IJ/*?Y.X#A6X B%#L
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
M*M *M>['-5-<KVA!U19)LM(69NBC@C0^\.(!9L/H6XV9H@IK+3PXHR)2&6;
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
MLE]:ML/M]ZJ_<K6F;T=2L<)4E/K)!5/V&U![H_.=^>YRF6N=;\WE1B"U*QJ
M]ZL<:*"ZH06:#W%?_1=02P,$%     @ ''%86N[0O_FM @  Y@8  !D   !X
M;"]W;W)K<VAE971S+W-H965T,3(N>&ULK55M3]LP$/XK5I@0DTKS2EM*6XG"
MIDT"J8*]?':32V+AV)GM4OCW.SMIEFJEFK9]B>_.]SQ^SH[/LZU43[H$,.2E
MXD+/O=*8>NK[.BVAHGHH:Q XDTM548.N*GQ=*Z"9 U7<CX)@Y%>4"6\Q<[&5
M6LSDQG F8*6(WE055:]+X'([]T)O%WA@16ELP%_,:EK (YBO]4JAYW<L&:M
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
M(L\3,%XXJ$9WPQL,7Q>O_P102P,$%     @ ''%86KR 1^!Y!0  O@X  !D
M  !X;"]W;W)K<VAE971S+W-H965T,30N>&ULI5=M;]LV$/XKA+H5+>#X1;)C
MY\U DFY8@74+DF[%/M+2R>)"B2I)Q?%^_>Y(O<6.DZ+]8HODW7,O?.Y(GF^4
MOC<9@&6/N2S,19!96YZ.1B;.(.=FJ$HH<"55.N<6AWH],J4&GCBE7(["\?AX
ME'-1!,MS-W>CE^>JLE(4<*.9J?*<Z^T52+6Y""9!,W$KUIFEB='RO.1KN /[
M5WFC<31J41*10V&$*IB&]"*XG)Q>34G>"?PM8&-ZWXPB62EU3X./R44P)H=
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
M[YDTB,/.09/9S15&.@Y0#*SJ0M-NE74C$):MNW- ^P*WOU/*'@-_P'2+57\
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
M9XE'5/7,JSI&[MS3:BT-/M1<,\>7,2AK@/,;*4W3L0':M_;J;U!+ P04
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
M+3,:R%'S!7J_491^[885]"/^ZF]02P,$%     @ ''%86J8$T:#:!@  7A(
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
MA7X"U![I/DCM#8A&=KJPB%1S'KI\F:'2Y.3E8=@>GNQ3KOHE_*"2<G I[,+
MN= _>_"'X(H3"J;.F4R&50^$ X64))8^=0Y?M38YI2Q]9/W>9GGW1!_XV(.K
MJXNM[=QDOZ&6<3\ 3!=22?\$-[=P9U3%)"X>.LC,KS-C*19H79\]\:U23Y .
M&T]LV"B>,D,789U<:/*)@&]&LJ9;_B OW=-F].%+9Q&CV.8,E--J0?4+!S&3
M=WK?86;((D%@></V)E'7FP72B8VN?^M.)*HC-V5$XGDO@GWXDRZ_=PM*:U8R
M1P?4_:.:%6MM<6742NH%J#KULBBYG32W[:4:]E)D(6!M]E0EVRFH-1>F(C9\
MJ"AG:M,5.JHUQN95="R#<0L.X=\;)?V$6J)2W-VWF:_%HRRJHN9MZ5BH-<@O
M!84-SNN 44M](K,>*J2(D492DT7,5&NSTYCAX8F#YZ2L=S"O![/*@S8AI/B8
M(;EO[V!+\QZ]A[-[>J,:*E&RDN2(VO2K4#,Q4/^NQ@M'22H%H;)*"4_$)J8O
MG= ^P7?E/AP=_,*?J.1"SA319QD'PT'7A#PC1^G-*>4!O7-Z<XN=6ND9V<)U
M4^_N]Z!4%4%((G@>S*X@RN0=RA@4BZ\1 T]WM@^C*"N4>BV_87V;]H6E+VWI
M!8)T!T'4(MN'O?%V .E9#K2K?<C0>IJ$(/JN?BZBG,COJ1UP65%'F@;_TU.'
MQ8PN-L\=)T.V?!G$)H*<YZ%&V#&<)91Q%%=J;'MIVA\U"L54>57+U&%8->Y4
M<ZF%IKZL:'.%].VCZ[D I W5@6UID%]X>F)Y9Y3,0R:%%.IQRO+@%TQFV$<Z
MRI;T$F! MC36@67%V5HN HY(3*EA?YBP_+"?)'WX0I51AC[J:!"ER%!S>Z?9
M]C;N<90H><C1':4!,Q26&RTU7"YN+GO2"9^WFUQ(\J.314GQ;OH<FZ!YK&L\
M1NA!M%MW&KC[?GG;/+AO30.#K<FL0/++17@L0SK%(:W=;4?<:9SL-M?C?'Q-
M;N7P*9R3:-(_I(G2QIDS+KPIPYPW,YZFQO"YI#$=+5^@\[DQOEDP03OX3_X!
M4$L#!!0    ( !QQ6%HZW_1-2@(  *$%   9    >&PO=V]R:W-H965T<R]S
M:&5E=#(T+GAM;*U4[V_:,!#]5RROFEII;4(2&&-)I *K5FF=4%FWSR8YB-7$
MSFR'M/_]_"-DM ,T3?M"[/.]=^\=]L4M%X^R %#HJ2J93'"A5#WQ/)D54!%Y
MQ6M@^F3-1464WHJ-)VL!)+>@JO0"WQ]Y%:$,I[&-+40:\T:5E,%"(-E4%1'/
M4RAYF^ !W@7NZ:90)N"E<4TVL 3U4"^$WGD]2TXK8))RA@2L$WP]F,PBDV\3
MOE-HY=X:&2<KSA_-YC9/L&\$00F9,@Q$?[8P@[(T1%K&SXX3]R4-<'^]8[^Q
MWK67%9$PX^4/FJLBP6.,<EB3IE3WO/T,G9^AX<MX*>TO:EWN<(A1UDC%JPZL
M%524N2]YZOJP!QB,C@""#A"\!D1' &$'"*U1I\S:FA-%TECP%@F3K=G,PO;&
MHK4;RLR_N%1"GU*-4^F"/*.M1 L0]D:P#-"<RJSDLA& +M'#<H[.SR[0&:(,
M?2MX(PG+9>PI7=LP>%E79^KJ!$?J# )TQYDJ)/K$<LA?$GA:=*\\V"F?!B<9
MYY!=H7#P#@5^$!T0-/M[>'A"3M@W,K1\X;\T\E"_'%UTF,X\WHFL208)UJ]3
M@M@"3M^^&8S\CX>\_B>R%\ZCWGETBCW]JF?-+<MX!>C\"Y?RXI!;1S&T%&:R
M;--@/!KYL;?=M_%GUN4'?]PG.7G>WFVO0&SL$) HXPU3[OKTT7[.7-OG]2H^
MU?/'C8O?-&YXW1&QH4RB$M::TK]ZKR4)-Q#<1O':OJD55_J%VF6A9R@(DZ#/
MUYRKW<84Z*=R^@M02P,$%     @ ''%86BQU:+Y# @  B@8  !D   !X;"]W
M;W)K<VAE971S+W-H965T,C4N>&ULG95;;YLP%(#_BL6D/;7AELN6 5+2;EH>
M.D5IMST[< "KQF:V">V_KVT(RZ:$2GD!VYSS^3M&'**6BV=9 BCT4E$F8Z=4
MJEZZKDQ+J+"<\!J8?I)S46&EIZ)P92T 9S:IHF[@>7.WPH0Y2637MB*)>*,H
M8; 52#95A<7K&BAO8\=WC@L[4I3*++A)5.,"'D']K+="S]R!DI$*F"2<(0%Y
M[*S\Y7IAXFW +P*M/!DC4\F>\V<SV62QXQDAH) J0\#Z=H [H-2 M,:?GND,
M6YK$T_&1_LW6KFO98PEWG/XFF2ICYY.#,LAQ0]6.M]^AKV=F>"FGTEY1V\6&
MGQV4-E+QJD_6!A5AW1V_].=PDJ YYQ."/B&PWMU&UO(>*YQ$@K=(F&A-,P-;
MJLW6<H29E_*HA'Y*=)Y*-OIX,Q#H2>",L *MA,"L 'WL2D:NTCN8.#?M:>N.
M%ER@A>B!,U5*])5ED/V;[VJS02\XZJV#4> ]I!,4^C<H\(+I""\<R@TM+[S
M.U?F#=J_H@W+R(%D#:;GJNZ@T_-0\]TL98U3B!W]84@0!W"2CQ_\N?=E1'DZ
M*$_'Z,FNH8!\;S^[]4^UT2KCM?K_D#O=<6".J801L=D@-AOE_.#L]@JY<>A[
M<O-!;G[5J3V!T%\1ON VSGS/;3&X+:X^N'&_<>Y%/_>D/U0@"ML%)4IYPU37
M*H;5H=&NNO[R-[SKT@]8%(1)1"'7J=YDH5^GZ#I?-U&\MMUFSY7N7798ZI\%
M"!.@G^><J^/$;##\?I(W4$L#!!0    ( !QQ6%K> 5*AXPT  &<S   9
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
MZ:CFU"!5;>2<"%D+689T7_3,K6^' _P*VT+ZR^JN: '<."/B#,&-[)Z<U70
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
M'"LUZ.D;MD:[S]ZVQ%6(=+US;<$;3C%+0(&P,2E3-QK*67(DX4^UN.NJ);O
M%XCCEX^G0"O>Y_&DI_$2@P*=2V1 A\QDNF53&R$T/5I,!28RORP\%;&=10%@
MF''(<9:W'#3Q&.+P+<%G>G:-[?%&2&-JTD"14%9MQ!,0HSAI18?K_.!T^1/5
M(]GM2QI#:\HZWH@1Y.&3I(OHKQQ$ZL3$0.2F9JG1W8/]3%3+\87V+E\'%YU7
MF%BYG8%UH+F<MP:"S*+SB\I0L,=<&^\="_(Y+7[ZR/$,5O]\]GL<=^\$ QRY
M%,7'=008-PB"H6$]@N!%-HBUO.M=5[IP@_ \A Q)D'MV1\;.(#Z3/)YH(:-T
MDBQBF\Y@D=!:! R;/?$8"&)K&K&48MVP-;+)-A<KN G\$!/8[@ZO*PW?\DMK
MZ>R?#SB@(W8$QQIV6MV584=PEZ)[PX@KM05A=0Y^.ZMX!$B8M7F.&,6KR)15
M9$4ZF5K*[BJ?)^U,AV6."(E!FVA2<(C]3$"$'3S&\TAU<)_ML3]^5>;#9@F
M=;&GHR#1<3CL?%A9!<.X$+KZ$"/(*3V4<O(C"$B0%2\<DD:8P6._SJT*6HIA
M..E'Z6+X-9&+"+N3GYL]:7-IPDW:?,6:U(V@/;,1ZF8@2@N+0"%X;\>9)MPC
M&TOG!B=NV#=T8G [1+TJMXRXNEWZ2#R$L!IIX^0V<2U*>Q("%>PXYD@<[)YJ
M[)9TMIH"K)@N[6!HA]665*8VY'Y.ZRTMTP>ONQ3/C\#]P5V/)AJBK@=UGE \
MG.&T<OP6U% R?*>2=\CR>)_FLRX^O$M,UJ%M@F(Z#_R'R"**2!D):)JI=E,]
M]6JFSFZTOCD7Z3@O\0-T[TPRD1=2)Z%#]B11#B'>6@LH)W0P86\;:.O.^V="
MT<3,M1] -RN AX"@:N,]XL;N1'H=XE8APD\6#0%H%^KZXRWNK)?S01H5JFXF
M1[@! 1<<S3$S)65"N!B^LB8=K'-W>+@"7DU.++P$T'Q/Z#0B9^& ?8N+JYM]
M25;DGG[.GSZZ&E2_,.28KKB>.R*/$VMTU!AZY'9M&[HI^0Y)2;,R(Y*BX9PU
M$"P]!$A#9K?N9)1<'[84UVM;2#[LD.AH&^6 ^#SAE@*_+$W_M<N"SWE 1_38
M"B8;Z5G7R5SP)D/,!JA"H$)N7<B8(GD*!$$#_D4HL$R02B_B(=4E4T.,(./&
MX&?*ELO'C-NJM WR@<%;_$J16%$MZ?'2W!$@((Z5%'W<F>5$(8]<\=!/_S@_
M6FF87VGV4Y*03H)7P<PKY% D=(3/$.$UF]H8?X4=BB\DO%!OO, Y<7$3+>'9
MFS<W!"*#0G'R0^0T&ZG-/(ZUF<>C)94/Q(+,[@HY=J]37S14G_GBR9A_955.
M.2]..%SR"N3$C).D$Q0CK[+O36GO56&W%@PCG^=U)0MPJ2&(2?'Y$@ERJ<-=
MDBD@B *<+%K8D&024 %#O31(6C3B#N#*-C@:=#"RSS.NJ-7PX077:B@6L"Y(
MTTO-;!'#T9& 9Y"4\>$Q_"[&W$F%[@9Y$(W#_:I"^N#LN^N;5^<G.:'6K>4I
MB2C:#E\..V?#(8;+9PEU@:$N*9T8,*[4GNH>M!C3EB=16YZ,"O@GB<=BV7%(
M149G&*XT'DZK1DA]&DE].DKJ1W+3)<&0CV1;UZ4]I=!_>)*(=L>.:SC59%;\
M#-:QE5^+$2?#0X;4HARDG10J,27%@Z0UB&&E*(@[<*V.;"#D[-,>>3@N<+!5
M4N>(H)2MD63,O E*4\VD%@*69:!#3"FVRF&<F.@UF2G!E($)C"7B=?*]MBA"
MD96A'ZTSA?PHF")K3SN3@Y3L&_AFD,:#55;VWN33E4GHZ/+'CDX/ ?"D(DZV
MON*\;A'XC:"@MW*/SW"6,+]<-4PY0U'>IN(<A(Y'>'*:Z@G$L[5D[YJJ]#=]
M@)IW85&PW'^93OQ'I7^M/*L";#_83KJ;W-2<PV$9$A) ".=K+X>N<]66F1=
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
M8S-:%?J]6/W"UOH$!B\5A:J?:+4>ZXY06BDMRO5DD*#,>?.F7]9V>,@$LIY
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
MAZ5I 1^^SA1AF''R$E["1-66RIK59WD[B#CH;G+6.BS<+]!"28#=_P=CUY"
M!I3C,C\VU;2J'4-YOPMD944P6&O%\AD,4S004*I&#ZT_C#)CY:=*%@SF>=<Y
ME4%PQ;BD?^T'^5!+HA3=_-E0^;R?#5^5G:9#=OFVFZ7HOZH\M*492J@JLRC'
MG#]#+=YB7@PS3&(GD5E3[<@+T4W;]UJM#7D-E*@2;3 MA@YD^\F0=IZ=)?Y!
M6J:)H5^$[IF$>K7B"E)QTA=0CE3;&"TJP[1KA_%0Z+P(L+OH]XD=,*YEL3DA
M>H&=J <MJ-.A8>MZ>Q@>B1UF_L@HG83>-T3O,08CW49BU PIR,1A?!!'M%;@
M'P_$9P?^,EN;/V4:LPJ,2M#[_ZXA5 1/Q,>0:."%V#768'_C*//::ZON:<'[
MD?#F( ;>=-X_S67,:)/N^0>-.*++L24G&F/2-\;DQ8WQ<TTE8-'S3-M,=N/A
M?CO2):LK J_[X#"-Y:7R.RF6PC'_.A#]@&"8/[M6>O)@\V^W0]WYC$5PX *C
M8WEVO!?+T$K\Z.A<[]M)-GQ @&-YJD[V.N+WN(5VF.Y]O@BF8BGM8RE]^;D8
M3(BZCG8PPL !^/2$JSNQ$$QU9F-4'PNF:3#J?-SZL3VHJ![)B?X8I\((3R'L
MAZQ7XQP]//_38?391'EO',EVUZL=ZE?.8U>XU#T:SM@/9$7K6IG22**]>I2%
M^[4V3EW%OSW@*+-L.(5?O4]_KF*"MH=3(UZ#O8]$,9PO^C.28M%-6E-, J/!
M^V&B>F[K&9SGO#$^6J5#.<V2/I-:"?DSQ$H%8AN^?[:THL@<4<*Y:2/P]@GK
M9%EV:*NQ?%L8W^4KPE?ZWP>8#AD,=^TG^OYI_P?'^_:[_D#>_COR*^8K=9(O
MR1*VPDDOFB'>_N/0+B3;Z*_\#TQ*5NG;-<%P8E4$\'[)F-PME(#^;Y_+_P%0
M2P,$%     @ ''%86H2.=."Z @  Z 8  !D   !X;"]W;W)K<VAE971S+W-H
M965T,S,N>&ULK55M3]LP$/XK5I@02(6\TI;21N)ETR:!5 ';/KO));%PXLQV
M*/S[G9TT2[6VVJ9]B7WG>YY[SH[/\[60+ZH T.2MY)5:.(76]<QU55) 2=6Y
MJ*'"E4S(DFHT9>ZJ6@)-+:CD;N!Y8[>DK'+BN?4M93P7C>:L@J4DJBE+*M]O
M@(OUPO&=C>.1Y84V#C>>US2')]!?ZZ5$R^U94E9"I9BHB(1LX5S[LYO(Q-N
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
M/Z'-_KWA6_0+8M2R.934<KU6REE47.Y/<BE1!,,@(A3*A9)MOV,Y-OH5"N9
M\?+S7)8Q"$,3M'<-QA=/VK&>96_\;F<MLUBH*([4-2@[5N#"9HC/+2^ !;AK
M,==<*(R642C3L&B'OLE2N;'2$[]N&[]N;[2\_+30RIW&8G.L]<Z^9VYYK6[>
MSC#!VX'>O-6;WQD3BE+-*C2K0P[<O4GA?I&[2NHO3;W]HSKU[IV[:Q+.I*8G
M43J]LZPWBQ)TP+M=OLE\'!6=T!,X[7)P]T+$Z)W.W*;C:#K-Y=3,]Z9LXJRI
MGT*@=:-N9OXKD!\!^QFC#R7^O%VH0D&(:CN$0G^)= $T"M4')'(Q8P$F'FT%
M #I9E )J,-]HHS[V'!O;=H#^J&%LO^W>W^J9Q@\AVJ.P6H #S^]T!AATMHH
MF)_("!8> B)%N1;E@#[$!+W VRKFAC]63HK2(PST<S$)V(I'/*X]8GJ)$(8=
MU\>,;E_TOF7M-LVN-BM+L,<9.-,SMTI[T[5<8K1Y! <VP7Y =J;K!X! ?00"
M&G9G4X:6^AQ[\([^_G"C&PB!O/]/HLZN_-^+9@QYV ML[ 0=X=$A!9C%+1(8
M;2X._ #S#LR>(NH"F'3SF,7(FC\!<@BF/L>.1TWT8KP/I7P?^YYGPA3EMQET
M,TO8?0#Z!Z$1@XQVN(NY;[J?6L0'79V5-HHIXV#8=M3_3FCT57Y^"N$_CA>A
M+)HH,LE5Q_MA?8'2+-V7R3S.KH'H)[))7?T#YB1+YB*]+I&!/P=B&2ZC(H/P
MOLA$'EK_/M#KN-5/F/MV,.>@@#+L<O-\9Y9#D&]QDP<XD(D>IBYM&1OU?.P:
M(.< 5>!;E3'0CS$0Z#F=0V#=>S$W.-)=9F"B8_G;Y6RE;KX#P++B%^):O@>.
M<58(DHU]!T"<[XX,;25NC#B8&K[36PBLAUO<I$.$8,9AH/N :-O#<?+.<.LG
M?NT2OQB4-N4K2%0BF(<"B[M&VWZ+7&R%G!'@=.Z:&P%6/("5P#5AQ>V.Z4T_
M()DF(2MP1FXS8ITR?"D,_R"P 5ZF%;"#%46!>X&B)@!1V!6&/?O!8,T7>[CG
MBLQOK\C\WONLNU_D]<JYYT5>T&H9[.P",MB!WL3NWHWL_BO(ZAE/PV#>J5SQ
MY44:RNHJ?UPQX=\*-(]%NO%9J7^9;WZ$W '.;SMEUK:FZ2C!#;W8!.OE[G7(
MI9\3[H?8[]-EG73K-+(9PQWX+>R:&>5:G+?8ZT*WS==_5CJVY9$FI_<<'W//
MN(P#.D W06Y@XK-OT6!%Q4TW7/3&^II;6('_U7O[/]CCCDMRVUXY0O4>N]U=
M;KNGJY&PLD_U3IO7ONO[:_;V;2R[)>HV@<S0>*=.9#XM7^,+ (E%JJHGZ[:U
M??$_JMZYN^'5OPN\%OD4"!"*Y02FVD W!BBO7N"KBLKFY:OW1:94EI2?,RD
ME_0 Z)]DF6HJ>H'V_R!&_P!02P,$%     @ ''%86KVGJKO+ P  D0T  !D
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
M5 LHLX]X27.-"^#]6JEV'*""Z=\0-_\&4$L#!!0    ( !QQ6%H>%.ETV@(
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
M%4?G4YREU>A[E:D&\2V6,A8)X9"AI'<]0"15#;=J8^2JG \+:7#:E,L<OP=
M60.\GDEI]AM[@^8+(_X'4$L#!!0    ( !QQ6%JBWT9-P0,  )$3   9
M>&PO=V]R:W-H965T<R]S:&5E=#0V+GAM;+58:X^;.!3]*Q9;5:W4&3"O)-,$
MJ<ULM2NUU:BSW7[VP$UB%3"U3=+NKU\;&!X)01.-^R7A<>_A'/L !R\/C'\7
M.P")?F9I+E;63LKBQK9%O(.,B&M60*[.;!C/B%2[?&N+@@-)JJ8LM5W'">V,
MT-R*EM6Q.QXM62E3FL,=1Z+,,L)_O8>4'586MAX/?*';G=0'[&A9D"W<@_Q:
MW'&U9[<H"<T@%Y3EB,-F9;W#-VO7T0U5Q;\4#J*WC;24!\:^ZYV_DY7E:$:0
M0BPU!%%_>UA#FFHDQ>-' VJUU]2-_>U'] ^5>"7F@0A8L_0;3>1N9<TME,"&
ME*G\P@Y_02,HT'@Q2T7UBPY-K6.AN!2294VS8I#1O/XG/YN!Z#5@_TR#VS2X
M3VWPF@:O$EHSJV3=$DFB)6<'Q'6U0M,;U=A4W4H-S?4TWDNNSE+5)Z,[KAS!
MY2]$\@3!CY(6:HXDND)G3KRZ!4EH*EZKDJ_WM^C5B]?H!:(Y^F?'2J%JQ=*6
MBI=&M^.&P_N:@WN&PRW$U\C#;Y#KN/Y(^_KI[=ZPW5:CT0Z)VPZ)6^%Y%PW)
MF*P:QQ_'T3?@C2A(#"M+W6$"^!ZLZ.4?.'3>CHDT!#:0[+62O2GT,Y+?("&)
MA 01B6(F1H>@Q@TJ7/W(V$>N$X:SI;WO:SNMPHOY?-%6#4C[+6E_DO1'$.)&
M/0?B,BO3BF<":FQB2NH'A))",L8E_:\Z,,:^OD#8XW6%PR ,C^B/E<U"9S[.
M/VCY!Y/\/\/HB 8G%_.Q@X\8G1:Y[AR/\PE;/N$DGS^GK#[9>JG5#8$-5,Y:
ME3-#=_?,I&1#8 /)\U;R_#?=W?,3FV$7>\&1&4>JL(>#<3<N6M*+2=)KEA6E
M!)4XV$8>"(<Q?I,0ETZ1(;"!6NQT[V''D"\;($.J3:$-9??B!_Y-WFR !P]*
M?^X<>7.T*CSC3=Q%!#SY.HX^E#RGLN3PA.DRFA),H0UU=SD!>Z9<.IDX+I9M
M"&THNTL:>#IJ/,.EI]EA$1R_S4>*,';/Q O<Y0L\'3 ^@OJ^V;$T030K.-N#
M)CV>SR>!+IXL0VA#V5V,P:$ICQI--:;0AK*[7(,G,\1S/#H[39-!X!^;=*S*
MGYTQ:9=-\'0X69."2I)67_M7-+]21MVJX1FWZ234Q?-E"&THO,LW>&'*ID9C
MCBFTX;=UEW/<R4#Q#)LVP/VOR+[_FJ_HTR+?\X],:O?62_1BU2?"MS07*(6-
MZG*N9ZJ=U^L_]8YD1;6$\L"D9%FUN0.2 -<%ZOR&,?FXHU=EVE6XZ']02P,$
M%     @ ''%86G;QW(48 P  O0T  !D   !X;"]W;W)K<VAE971S+W-H965T
M-#<N>&ULK5==;YLP%/TK%JNF3MK*1[Z:+D%JDD[K0Z6H7;=G%VZ"5;"I;9+T
MW\\VA$!'6%/QDF!SS^&<ZXNYGFP9?Q81@$2[)*9B:D52IE>V+8(($BPN6 I4
MW5DQGF"IAGQMBY0##@THB6W/<89V@@FU_(F96W)_PC(9$PI+CD26))B_SB!F
MVZGE6ON)>[*.I)ZP_4F*U_  \C%=<C6R2Y:0)$ %811Q6$VM:_=J[O8TP$3\
M)K 5E6NDK3PQ]JP'M^'4<K0BB"&0F@*KOPW,(8XUD]+Q4I!:Y3,UL'J]9_]A
MS"LS3UC G,5_2"BCJ75IH1!6.(OE/=O^A,+00/,%+!;F%VV+6,="028D2PJP
M4I 0FO_C79&("L ='@%X!<!["^@? ?0*@,F<G2LSMA988G_"V19Q':W8](7)
MC4$K-X3J97R07-TE"B?])5<5P>4KPC1$\)*15*V11-_0=1@2G6@<HUN:EXM.
M^_D")":Q^*)"'A\6Z/SL"SI#A*)?$<N$(A$36RI=FMT."@VS7(-W1(/KH3M&
M9230#0TAK!/8RE#IRMN[FGFMC L(+E#/_8H\Q^LW")J_']YKD=,KD]PS?+V3
MDMR4J)RGW\RC7^DKD>( II9Z9P7P#5C^YT_NT/G>9+(CLIKE?FFYW\:N4JA(
M Y(7#>S4KB.@R7#.,C L>LO9^(/1>#BQ-U4C_P;U1^XAJ"9P4 H<M J\(Y0D
M6=*DJ15XZB)T1%;S."P]#CNJNV&7ECLBJUD>E99'K<MZ(R116Q6$*!.PRF(4
MJZ]$XY[4SN.A5\"\"3AO!7[0WF5I[[*]:O'N6-6V D]=PH[(:A['I<=Q1U4[
M[M)R1V0URZYS^ P['=7M?XA<YWCEMD,_ZK'2:KBMTMZ_L.U$IZYL5VQUV][!
MMM=1/1=$7=GNB*UN^]#SN*W]Q;L[@(*F^G5W!X[SI@5HBO(J4;E(N](()\#7
MYGP@4, R*O/NL9PMSR#7IO-^,S_39Q/38!]H\H/-'>9K0@6*8:4HG8N1DL3S
MLT(^D"PU[?83DZIY-Y>1.E\!UP'J_HHQN1_H!Y0G-O\O4$L#!!0    ( !QQ
M6%J"U+S%A@(  /(%   9    >&PO=V]R:W-H965T<R]S:&5E=#0X+GAM;)V4
M;V^;,!#&O\J)55,KK860A'0=06J:_>FD2E6[;J\=N(!78V>V">VWWQD(RS8:
M37L#MKE[_#OCY^):Z4=3(%IX*H4T<Z^P=G/A^R8ML&3F3&U0TI>UTB6S--6Y
M;S8:6=8DE<(/@R#R2\:EE\3-VJU.8E59P27>:C!563+]O$"AZKDW\G8+=SPO
MK%OPDWC#<KQ'^["YU33S>Y6,ER@-5Q(TKN?>Y>AB$;GX)N KQ]KLC<%5LE+J
MT4VNL[D7." 4F%JGP.BUQ2L4P@D1QH].T^NW=(G[XYWZAZ9VJF7%#%XI\8UG
MMIA[YQYDN&:5L'>J_H1=/5.GERIAFB?476S@05H9J\HNF0A*+MLW>^K.82\A
M#%]("+N$L.%N-VHHE\RR)-:J!NVB2<T-FE*;;(+CTOV4>ZOI*Z<\FWQ4*JNY
M$,!D!M?2,IGSE4"X- :M@5.X*F@)#7 )*=/ZF<L<6*DJ:4&M(=^E'R_1,B[,
M"1RYT"^%J@Q)FMBW1.GV\M..:-$2A2\0C4*X4=(6!M[+#+/?!7PJKZ\QW-6X
M" \J+C$]@_'H#81!.(&'^R4<'YT<T!WW9S=N=,?_=79#E;=ZDV$]Y[\+LV$I
MSCTRF$&]12]Y_6H4!>\.T$YZVLDA]63!!),ITB_]S&1%!H3N1(9 6ZEI(^5\
MO4W"8#:-_>T P+0'F!X$(!>11^@:55JC3)_!:B:-8*T[L^]TV<GM=@BG%8[V
M<$YGLV&:J*>)_O$XZ'I@N4+=7Y$A@NBO QF]?7O^!X*_Y\,2==YT&P.I<TMK
MR7ZU;VB7K8]_A;?=\(;IG$L# M>4&IS-:&O==IAV8M6F<?5*6>H1S;"@IHS:
M!=#WM5)V-W$;]&T^^0E02P,$%     @ ''%86II,(2\"!P  K"\  !D   !X
M;"]W;W)K<VAE971S+W-H965T-#DN>&ULM5IK<],X%/TKFBRS S,;8KW\8-O,
ME'26Y0,['0KL9S51$R]^!%MI*+]^92=$L?7 IN)+F\?5R;FR[SFZLB[V9?6Y
MWG NP-<\*^K+R4:([:O9K%YN>,[JE^66%_*;^[+*F9!OJ_6LWE:<K=I!>39#
M01#.<I86D_E%^]E--;\H=R)+"WY3@7J7YZQZ?,VS<G\Y@9/O'[Q/UQO1?#";
M7VS9FM]R\7%[4\EWLQ/**LUY4:=E 2I^?SFY@J\6-&X&M!&?4KZOSUZ#)I6[
MLOS<O'F[NIP$#2.>\:5H()C\]\ 7/,L:),GCRQ%T<OK-9N#YZ^_H?[7)RV3N
M6,T79?9ONA*;RTD\ 2M^SW:9>%_N_^;'A&B#MRRSNOT+]L?88 *6NUJ4^7&P
M9)"GQ>$_^WJ<B+,!D%@&H., -'0 /@[ ;:('9FU:UTRP^455[D'51$NTYD4[
M-^UHF4U:-)?Q5E3RVU2.$_,W9;G:IUD&6+$";PO!BG5ZEW%P5==<U& *KI9?
M=FF=-G,^K7C&!%^!5,6Q0]SS:RY8FM4OY(B/M]?@^;,7X)F, Q\VY:Z6V/7%
M3$BZS8_.ED=JKP_4D(7:-5^^!!C^ 5" B&'X8OAPW!T^DY-TFBETFBG4XN&?
MFBE3>@<\8L9KZO-5O65+?CF1!5CSZH%/YK__!L/@3U.RGL ZJ>-3ZMB%/G]3
ME74-%JRJ'M-B#3ZQ;,=-"1]0:(O2Z,?#'., )A>SA_-,]"@4PR@^174HDA-%
MXJ1XM5SN\MWA]KS*RTJDWUASSYIH'I#",P)3F,BIZO$TA1$:(S-1>B)*G42E
M^$AI*<!B5U6\6#Z"#Q4KZJPE"ZY6_\F2ERHI3+RI1H@&88^T'@-#"^/PQ#AT
M,OY'FLF/KWVH_S#&%/?HF:(B:KGVT8E@](-K+R6JX@.KTHDUMBH]@772CD]I
MQYX%*?:9NB>P3NK)*?7$BR EVNV6A+1?,H8@8JMR&"A?#;P)TA&J(S5QJ!6/
M*2R*4&"A>K8$@+]*DH[(84?R^[0-,=3"69DQ=!K>0%$Z@G2N;=37>4,0C)+(
MPE!Y)G2;YC5_D(ODK;S\@B\W19F5ZT<C1R?,V*KTA=9-6KDP))XU"3I]?73Z
MGM"ZZ2MOAVYS'ZI+4+=I'&@+$$,42I+$<F,J.X=N/Q^E3+IA3U$"89^I*2PD
M-F52Q@[=SOX498IT2IHRZ3&VLE>F#)W&-U288EUS2-^8#$$X#"T$E75"MW<N
MVJ:25Z#MYN1$UIMT:RY-)]#HTO2$UFW>E!^CP'?[YC3XT?V;)[1N^LKCD=OC
MARH3TLT:04)Z=Z8I*D@LMR8ZZ[#=ICY&F9#NVE,8:XL[8UA(+.L/I-P=N=W]
M"<IT1.YI:I^W'@0M<HJ4.R-WDSQ,FY#>^"*J\=.#2 @M!)5_(K=_RDE<\9Q5
MG^NV3$7SMF Y-]>G$VMT?7I"ZV:N3!F%ON7)Z?*CT_>$UDU?&3UR&_U@>=(=
M.S[;WSCF8@BBEH8.*6-';F,?)4ZZ<T]CI&F3(2J*B(6H,GCD-OBG2)-7QT=Z
M9VVY"EC9.':WU<,D#.N=,N[/OB$FMB@L5C:+W39[(V^/PERO[I%CY]876C=/
MY=38]V8X]KH;[@NMF_[9?KBG#7'=Q;6UE"D&6^Y#Y?38WW8X-FQTZRQ-0;9R
M47Z/W7X_L)J]&CTV]-Z6/)1[8W=+_8ZO4@86I2R$I0#-@[CFT:(Q%Z^N[0NM
MF[9R;1SY5@&ON^^^T+KIJQ4!=J\(!JN H8^G6K=OBB*)S3#5:@"[5P.CE$ W
M["D.H,;4$(9"9%G]$^7MQ.WM3UBX$,/6>'^3RA #+2TK489/W(8_3,&(WB]3
MK>4S!,6Q93^***<F[IYZP;:I8%GZ35Y_M25]6]Z+/:O,9+TZM2^T;OK*J0GV
M+%'$ZWZ\+[1N^F=/Q=WK@*$210P]/\9A?\/4$ ;CT+;Q0]0Z@+C7 :.>WNO^
M/84!#:(^5T-<&-L>AA/E]<3M]4]1*7V;G$3:'!N>D2.;#"BK)NX&>Z!.Z9TS
M1#C6*!K"8&+;_B'*4(G;4']"J[P^TO:%UDU?635)?&N5UW[=%UKW7(RR?^JV
M_Z%:10T^GL3:,RE3&$4VQZ?*\:G;\<=H%=4MW:A5ICB[5E%E_M1M_D\Y;&38
M.">:(1BB(+8<YZ'*M*F[O1XF5E1OG..8:+>!(<JZK*;*6*G;6-U2!:;-V<>;
MJES+0C%6KAM^;.7Z0NM.QMF1-NI9N*C7EMX76C=]M2*@[A7!8.'2G1U3VM^]
M-D41V\XD50L ^LL>I5/#HW38/ZQ@"(*6!0%5"P+JXV'Z$:1S[I02;5X-423L
MGZ:8G1VE;LZQOV/5.BUJD/%[.2QX&<GQU>%H^.&-*+?MZ>J[4H@R;U]N.%OQ
MJ@F0W]^7I?C^ICFP?3J@/_\?4$L#!!0    ( !QQ6%HAO=(IN@(  (,)   9
M    >&PO=V]R:W-H965T<R]S:&5E=#4P+GAM;*V6:V^;,!2&_XK%JJF5MG*'
MI"-(;;)+/VRJ>MMG!TZ"56-GMG/I?OULH"A-**FB?0DVG/?E>0\!.UES\20+
M (4V)65R9!5*+2YL6V8%E%B>\P4P?67&18F5GHJY+1<"<%Z)2FI[CA/9)2;,
M2I/JW(U($[Y4E#"X$4@NRQ*+YRN@?#VR7.OEQ"V9%\J<L--D@>=P!^IA<2/T
MS&Y=<E("DX0S)& VLB[=B_'0U%<%CP36<FN,3)(IYT]F<IV/+,<  85,&0>L
M#RL8 Z7&2&/\:3RM]I9&N#U^<?]69==9IEC"F-/?)%?%R!I8*(<97E)UR]<_
MH,D3&K^,4UG]HG53ZU@H6TK%RT:L"4K"ZB/>-'W8$KC!&P*O$7CO%?B-P*^"
MUF15K E6.$T$7R-AJK6;&52]J=0Z#6'F*=XIH:\2K5/I=\[S-:$489:C:Z8P
MFY,I!70I)2B)/J.O4A'=+<@1+KE0Y"^NV@\;_3^2@$XGH#"A\DR7/MQ-T.G)
M&3I!A*'[@B^E-I6)K32GN9N=-4Q7-9/W!M,$LG/DNY^0YWA!AWS\?KG_6F[K
M[K0M\MH6>96??U2+NN+5?D&WGWDO+^0"9S"R](LG0:S 2C]^<"/G2U?8_V3V
M*KK?1O?[W%/=P; K8*T**Y7Y3JS2,/*CQ%YM@_=:'PD>M.#!(?"H"[Q615O@
M@1L.=L![K8\$#UOP\!!XW 4>[H%[41SN@/=:'PD>M>#1(?!!%WBT!QX'W@YW
MK_.1W''+'1_B'G9QQWO<KNOL</<Z'\D]:+D'O=SW!>A5>Z9 =-$/]NC]W:;W
MVA\)/VSAA[WPO_3V9(R%>"9LCAXQ74)7B.'>5\;U_=#?R=%5%6^]TS6@O;5$
MFNW)3RSFA$E$8:9USGFL#42]Y-<3Q1?5JCGE2J_!U;#0NR00ID!?GW&N7B9F
M(6[W7>D_4$L#!!0    ( !QQ6%J+FEGY^@(  )D+   9    >&PO=V]R:W-H
M965T<R]S:&5E=#4Q+GAM;*U66V^;,!C]*Q:KIE;:RBW7+D'*99<^5*J:=7MV
MX$NP"IC:3NCZZV<;0B&AJ*UX =M\Y_@<8\.99)0]\!! H*<X2OC4"(5(KTR3
M^R'$F%_2%!+Y9$-9C(7LLJW)4P8XT* X,AW+&I@Q)HGA3?38+?,F="<BDL M
M0WP7QYC]FT-$LZEA&X>!.[(-A1HPO4F*M[ "<9_>,MDS2Y: Q)!P0A/$8#,U
M9O;5PM8 7?&'0,8K;:2LK"E]4)WK8&I82A%$X M%@>5M#PN((L4D=3P6I$8Y
MIP)6VP?V']J\-+/&'!8T^DL"$4Z-D8$"V.!=).YH]@L*0WW%Y].(ZRO*\MK!
MP$#^C@L:%V"I("9)?L=/Q4)4 /9K *< .,> WBL MP"XVFBN3-M:8H&]":,9
M8JI:LJF&7AN-EFY(HE[C2C#YE$B<\'Y2&F0DBA!. G2=")QLR3H"-.,<!$?G
M2Q"81/P"?47WJR4Z/[M 9X@DZ'=(=UQB^,044H8B,_UBRGD^I?/*E+:#;F@B
M0HZ^)P$$=0)3ZB]-. <3<Z>5<0G^)7+M+\BQG%Z#H,7;X6Z+'+=<4U?SN1]:
MTZ8%R_EZS7SJ)%_Q%/LP->11Y<#V8'B?/]D#ZUN3V8[(:M9[I?5>&_N+=1*G
MF#!YWD63WYRDKTG4AV;O61-S7S71.LT'3?1+$_TWF6A2GB,'%>7V>#PZ$M\_
ML>=8PWY95!,U*$4-6D7-_,<=8?#&#=7*]=X-U1%9S?:PM#WL^"P-N[3>$5G-
M^JBT/FI_XS%E@CQC_;N#)_GCYM!D>'2R)4?6\7$ZK1E7:FKRQJ6\<:N\!4Z)
MP!%YEGMR"7L9"%+96M&-R#!K%-K*]]XWTQ%9S;IMO?PUK8ZW94'8D?NNV.KV
M*Z'![F1K%C35+Z';/]F<#57.\&1[FI60$P/;ZNS'D4]WB<BC0CE:YLN93E5'
MXW.5.W5X>J')0^L-9EN2<!3!1E):ET,IB>4Y,.\(FNHHM:9"!C/=#&5V!J8*
MY/,-I>+041.4:=S[#U!+ P04    "  <<5A:]2P6&E #  #G"P  &0   'AL
M+W=O<FMS:&5E=',O<VAE970U,BYX;6RM5EUOXC@4_2M6IEJUTK:)G0^@"Y&F
M,*.=AY&JZ73VV4TN$#6QL[:![K]?VTD#!!-5G;Y [-QS?,ZU;WRG.RZ>Y1I
MH9>J9'+FK96J;WU?9FNHJ+SA-3#]9LE%194>BI4O:P$TMZ"J]$D0)'Y%"^:E
M4SMW+](IWZBR8' OD-Q4%17_W4')=S,/>Z\3/XK56ID)/YW6= 4/H![K>Z%'
M?L>2%Q4P67"&!"QGWF=\.\>A =B(7P7LY,$S,E:>.'\V@V_YS N,(B@A4X:"
MZK\MS*$L#9/6\6]+ZG5K&N#A\RO[5VM>FWFB$N:\_*?(U7KFC3V4PY)N2O6#
M[_Z&UE!L^#)>2ON+=FULX*%L(Q6O6K!64!6L^:<O;2(. #@Y R M@/0!T1E
MV )LYOQ&F;6UH(JF4\%W2)AHS68>;&XL6KLIF-G&!R7TVT+C5/J-9;P"]).^
M@$37:,ZKFC-@2B*^1+7@V\)NF#XOJ&A"E0V]7("B12FO-.CQ88$N+Z[0A0Y!
M/]=\(RG+Y=176I]9Q<]:+7>-%G)&"R;H.V=J+=$7ED-^3.!K8YT[\NKNC@PR
M+B"[02'^$Y& 1 Y!\[?#PP$Y89?LT/*%9_CF&R%T;@\RN4_QK2M?#5WDIC,5
M?BMKFL',TR4L06S!2__XA)/@+Y?7#R([<AYUSJ,A]E27G"XHYO+8 &,+-!^=
M;1J3>.IO#Z6?QF \QEW0D:2XDQ0/2X(<!"U=DAI@<K@<27J27#&!6U'2*4H&
M%3THJ@#IVD$ES]S*DI-51\FXI^PT)G3K&G6Z1H.Z',<67O0](@%=/@&#9:&N
M7&)'IRF*\*2GUA$4!I%;\+@3/!ZLLP4L04O.WUYHXX\LM \B.[(^Z:Q/WEMH
MDY-,7Y-)U-L.5] X<6\'#O:73/#>6FN11RM&0=P_)HXP?*;<\,'=AW^WX%J&
M(WF8Q/VOP?!"[]QS3/9&R* 1UX%_4XFVO$?VXB0XR;XCC(S.'8O]=8@'[YST
M_FQ_X=0:GMP"U_I[$O2UGH;A@(Q[6OV#EJD"L;*=I$09WS#5]!?=;->M?K8]
M6F_^SG2QMA7;TS0M\'<J5@63J(2EI@QN1EJ2:+K*9J!X;1NS)ZYTFV<?U[H3
M!V$"]/LEY^IU8!;H>OOT?U!+ P04    "  <<5A:?^L;T?@$  #K$@  &0
M 'AL+W=O<FMS:&5E=',O<VAE970U,RYX;6RM6&UOVS80_BN$APTJL,JB+$MV
MYAAHG+X$:+&BZ=;/C'2VA4JD1])VNE^_(^7(CDU1'9 OL:3P'C[/\7AWY&PO
MY'>U!M#DL:ZXNAZLM=Y<#8<J7T/-5"@VP/$_2R%KIO%5KH9J(X$5UJBNAG$4
MI<.:E7PPG]EOG^5\)K:Z*CE\ED1MZYK)'S=0B?WU@ Z>/GPI5VMM/@SGLPU;
MP3WHOS:?);X-6Y2BK(&K4G B87D]>$.O%K$UL"/^+F&O3IZ)D?(@Q'?S<E=<
M#R+#""K(M8%@^+.#!52504(>_QQ !^V<QO#T^0G]G16/8AZ8@H6HOI6%7E\/
M)@-2P))M*_U%[#_ 0=#8X.6B4O8OV3=CLVQ \JW2HCX8(X.ZY,TO>SPXXL2
MIAT&\<$@/C=(.@Q&!X.1%=HPL[)NF6;SF11[(LUH1#,/UC?6&M64W"SCO9;X
MWQ+M]/R.YZ(&\I4]@B*OS2^13 .N4"YX7E8EL]X.;D&SLE*O9D.-LQK;87Z8
MX::9(>Z8@<;DD^!ZK<A;7D#Q'&"(=%O.\1/GF]B+> MY2$;T=Q)'<>(@M/AY
M\Y&'SJAUX<CBC7["A2[W--:)V]ILTRNU83E<#W ?*I [&,Q_^X6FT1\N:2\$
M]DQHT@I-?.CS=U" 9!4I&\$:8P4>,9\H($P3I9G>:B%_V !R.:)!GUATDUYV
M\RB,Z6RX.Q78,^@9\7%+?.Q=H;?+)68-(I97+EKCEUR?%P)[)C-M9:;>];D_
MI$::QB2HG5NU 9@^\^XX2\_6(+U8@R0<Q^XUR%IRF9?<^TH\8.S<<<WXJGRH
M@'P4^]=FTQ3DL(."]W<?O]XY>6<.WM'H/':RR]AQDYZTI"=>TB8=@@T>A=%#
ML&IB6> $BZBT>=&YWR<NKG1\QO5RU#A,X]3-=]KRG7KY?@&]E9QH0392[$I;
M:[7< MEN7$RG+J;1Y(SIY:@X3)/$S91&Q\(3^;/)A3,)/M6, ]>D*-'K$GAN
MJ]*3W^$Q7V/T %EA?Z((XP6IA%+NM'N8_ES=>:P[AV7IM$/>25VE7GG?2KU>
MBZHH^<ID2B=#ZF1X'BF.832,THY0H?&18=P3+ J8S-?6CP7LL*7;U,;YN82B
MU$[&7L3_FRM[^ 5I%HZB7U]Y,B,]UFCJK8PG.]ELY))KD)AS-HS_( JTKL H
M=TI^T?+=PS*(1PE&@%_SL5Q3?[V^!515-&)!N=7Y$8(H3"_8')3T6-)D&L8]
M2H[UFWKK9ILK;&OZE!MTR2JG)C\6:IIV:>JQI%$<CGLT'8LU[:G6VH@YZ:4X
MV-A<'KJL!^"P[-B&?N2 AI,NA:X&((HZ^BMZ+.[47]VQ@N,A$AO!H(#FZ15*
M(UMNSA$K7OZ+<6@T'D0I$KRY7Y LB=P'"O]DP:A;WV6C0,/IM"M7'OL ZF\$
M%DW=04D[5FV;,Q&K\ S,L$0Y)?CQ@A$6F2X-KM8@FW1I./8&U-\<M%TPMNHB
M__[:G'X+8K(@MO!6DE.('S1(D^[%Z#&=IM217IX?"8_M1.QO)_[4:Y N ;&[
M#TC.JFP/?)#U4CVV!K&_-6@6HMPUV[[KM-0#$M LI!V.CR\[!BRE%[M@>')M
M4(-<V=L4A1&QY;HYC;=?VQN;-_:>XNS[#;U:-/<N1YCF&N@3DRO3JE6P1$B,
M><RPLKE9:5ZTV-C+B0>AM:CMXQH89D S /^_%$(_O9@)VONM^7]02P,$%
M  @ ''%86EZH?!,<!   T!   !D   !X;"]W;W)K<VAE971S+W-H965T-30N
M>&ULK5AM;]LV$/XKA%8,+=!$HEZMS#;0QAN6#]N")NT^TQ)M$Z5(EZ3?]NM'
M2HHD6Y22%/D2B]+=Z7GNCO>(F1ZX^"XW&"MP+"B3,V>CU/;&=66VP062UWR+
MF7ZRXJ) 2B_%VI5;@5%>.A74]3TO=@M$F#.?EO?NQ7S*=XH2AN\%D+NB0.+T
M&5-^F#G0>;KQA:PWRMQPY],M6N,'K+YN[X5>N4V4G!282<(9$'@U<S[!FUN8
M&H?2XAO!!]FY!H;*DO/O9G&7SQS/(,(49\J$0/IGCV\QI2:2QO&C#NHT[S2.
MW>NGZ'^4Y#69)9+XEM-_2:XV,V?B@!ROT(ZJ+_SP)ZX)129>QJDL_X)#;>LY
M(-M)Q8O:62,H"*M^T;%.1,<!A@,.?NW@O]0AJ!V"DFB%K*2U0 K-IX(?@##6
M.IJY*'-3>FLVA)DR/BBAGQ+MI^9W+.,%!H_HB"6X @N\PD+@'"AT!$A*K"1
M+ >4H"6A1!%M]7Z!%2)4?M#V7Q\6X/V[#^ =( P\;OA.:FLY=96&9E[@9C6,
MSQ4,?P#& F?7(( ?@>_YH<7]]N7NP;F[JQ/29,5OLN*7\8+!>'4:2)6>-ALW
M-FY5L- >S&S$&[E%&9XY>J=)+/;8F?_Z"XR]WVQ,WRC8&>^@X1V,19]_HGI;
M(Y;I*C.N=/_I)#!%3WICY#N]X984V_A70:,RJ)D;^WD8I5-WWZ75M_$G06-S
MAC9LT(:C:!=8IR CJ)H'NDM1P84B_Y4W;#A'P[VV3E6PN$,HFMCY1 V?:)3/
M[S]V1)V [C@]I&5%ZS5EB'J()I/XH@Q]&]]+!W#'#>YX%/??6FVTK@B-F*T!
MY5*"# EQTB)S0,(^#N(>CB2)H@NP?2/H13"THTT:M,EXEH\FNW6'MPD%.Z8(
M!5M$<AO>I <E\)/P F_?"*:);X<[:>!.1N'^HS98V!!-^M5.+O#T3:))9(>3
M-G#243B/7"$*UL(4.1^<DF")=?$QV".ZJ[?GTV2Q44G[>?/#&%ZPL5A%$?3L
M?*#7"J WRNC;RS#64;JOOPK3^'+,V<Q@D'3LSF%V=!J^(/'#PO01,*RLP&%_
MJX6I?XF[;P63$ Z@;G44OEY(.]\25C6%;RJG;Q7M/ &MH,)G%+4C28"OP!U3
MB*W-P+%_)07]]@EZM1I]Y<]2:E47CLONX$0:]WMUX?H">^4/#%/82BP<U]AJ
M&]DF5Z<MK>3ZRFFIC,5H$',KK_!Y?1V>M5:P%GD-8^\2K45?$S@TJ5I]A>,"
M.YSB$<!]Z;0-*8O #@^I5F'AN,0^WQ,G*^:^O%HZPF(TV!&M",-Q%?Z)CDA[
MW]^VCNA;63K"[1PWS5G_+R36A$E \4J[>=>)]A?5\;E:*+XM3Z!+KO1YMKS<
M8)1C80ST\Q7GZFEA#K7-/S'F_P-02P,$%     @ ''%86IA8^:>A @  !P<
M !D   !X;"]W;W)K<VAE971S+W-H965T-34N>&ULK55=;]HP%/TK5E9-G;0V
MGZ2T"Y$*K%H?*E6EW9Y-<B%6$SNS#73_?M=.R( &U(>]$%_[GN-S+O9ULA'R
M514 FKQ5)5<CI]"ZOG%=E150474I:N"XLA"RHAI#N715+8'F%E25;N!YL5M1
MQITTL7./,DW$2I>,PZ,D:E555/X90RDV(\=WMA-/;%EH,^&F24V7, /]4C]*
MC-R.)6<5<,4$)Q(6(^?6OYG$)M\F_&2P43MC8IS,A7@UP7T^<CPC"$K(M&&@
M^%G#!,K2$*&,WRVGTVUI@+OC+?N=]8Y>YE3!1)2_6*Z+D3-T2 X+NBKUD]C\
M@-;/P/!EHE3VEVS:7,\AV4II4;5@5% QWGSI6UN''8 ?'P$$+2 X!$1' &$+
M"*W11IFU-:6:IHD4&R)--K*9@:V-1:,;QLV_.-,25QGB='K/,U$!>:9OH,@%
M>>%,0TYFFFJ,*<\)'A0L!2>85@L.7"LB%H0UL/-2*/6%G$]!4U;B"!EF4W)^
M]H6<80YY+L1*(8M*7(UBS99NU@H;-\*"(\+\@#P(K@M%OO,<\GT"%UUV5H.M
MU7%PDG$*V24)_:\D\(*H1]#DX_#PA)RPJWQH^<(/5+ZO/ TZZD>;RWVC:IK!
MR,';JT"NP4D_?_)C[UN?M?]$MF<TZHQ&I]C3O3/5Y[2!#RS<=)UU&OCQ=9"X
MZUT+/5E>,.B2]J0-.FF#D]+NFL/=)ZH!QKO;75V'!YK>)UWXPV'<+RKN1,4G
M1;4'8P[FZI%:BC6S/1/#[;W3QPY-_+Y(430<',A^G^6'UP>BW9V>4H%<VE:K
ML VLN&[N7#?;=?-;V\0.YL?8Y9NF_(^F>2(>J%PRKD@)"Z3T+J]0D6S:;A-H
M4=O.-1<:^Z =%OA2@30)N+X00F\#LT'W]J5_ 5!+ P04    "  <<5A:'MJI
MOQ #  #_"   &0   'AL+W=O<FMS:&5E=',O<VAE970U-BYX;6RMEEMOVC 4
MQ[^*E553)ZT-N1!(!Y$*;%H?*E6];,\F.1"KB9W9#M!]^ATGD'()E(>])+9S
MSM^_X\LY&2R%?%4I@":K/.-J:*5:%S>VK>(4<JJN10$<O\R$S*G&KIS;JI!
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
M\.N3JQ.PPK'2*>E5Q*2;7AI%"TVAM:5KW+D[>5E>:MW]8.E,HH6FT-K2-3V
MJV\"!N=E3R/@^-W,-.3S*XU>HVMPF[;!U?<-CYF17IUF/3IU5#+:&YA":W\P
M;)H#J'70P95$LO<#B3YN:/8910M-H;4U:[H"Z+ZH<$&3GGYI%"TTA=:6KND0
MH+Y#&%JX8+<'\,>=C-3?=+!$K]$#P*8'@/H>X/Z;7OYMY]N6$Q&3<B/H!SA;
MDX3(NUZAC/I_HVBA*;2VH(W_AR_S_]"H_S>*%II":TO7^']HUO]7<*UMA6ZV
M&O7_IM!*A>R#_<(4\W6Q[ZJ(YU_4RWVX^FJ]MWM6[&@>73]W3Y?E#FT#4VX8
M?T)\3:@ "5XI2.=DH@CP<@^V/)$L*W8E;YB4+"T.-QBI#B,?H'Y?,2;O3_(;
MU#OAP?]02P,$%     @ ''%86BWWU./9 @  I @  !D   !X;"]W;W)K<VAE
M971S+W-H965T-3@N>&ULK59K;]HP%/TK5E9-K=0V3Y*40:06-&U2*Z$^ML\F
MW!"K3IS9#I1_/]M)(PJ!46E?P([O.?><&]LWHS7CKR('D.BMH*486[F4U="V
M19I#@<4UJZ!4*QGC!99JRI>VJ#C@A0$5U/8<)[0+3$HK&9EG,YZ,6"TI*6'&
MD:B+ O/-'5"V'ENN]?[@D2QSJ1_8R:C"2W@"^5+-N)K9'<N"%% *PDK$(1M;
MM^YP$NMX$_"+P%ILC9%V,F?L54]^+L:6HP4!A51J!JS^5C !2C61DO&GY;2Z
ME!JX/7YG_VZ\*R]S+&#"Z&^RD/G8BBVT@ S75#ZR]0]H_0PT7\JH,+]HW<1&
M PNEM9"L:,%*04'*YA^_M778 KC! 8#7 KQ3 7X+\(W11IFQ-<42)R/.UHCK
M:,6F!Z8V!JW<D%*_Q2?)U2I1.)G<LW)Y)8$7B,TI66)=6X'.IR QH>("7:&7
MIRDZ/[M 9XB4Z#EGM<#E0HQLJ;)K#CMM,]TUF;P#F::07B/?O42>XP4]\,GI
M</\CW%:>.^->9]PS?/YGC/>Y:FB"?AI]R(:BPBF,+76*!/ 56,G7+V[H?.OS
M^)_(/CCV.\?^,?9DUIZ][1=]I<Y1RFM8H*I=I03/"25RTU>+)L' )-#WPRJ)
M;H+!R%YM>^P)<KVX"_J@/>BT!T>U/Y"4,\$RJ?2E2BGTOJJ&(]S*' 3>CKK]
MF!O7[1<WZ,0-CHI[9A)31$_=4(,]!;$?1SLR>X(<_Z9?9]CI#(_JO <AAFA2
M<PZE1!7CYB)EV>G2PSU5;ACX.])[@KSP0(FC3GKT[Q+W2HKVLH51$.Q(BO:V
M9!A%![9DW$F*/[DE+]%MP6I=6KS!<PH(EV6-*=T@M@*.9 ZH*7)FQGC) 51#
ME'VVXCW%@>/LN#JJ[[.7B;W50W3_?L!\2=0-02%3],ZU[GB\Z8G-1++*M)4Y
MDZI)F6&N/B. ZP"UGC$FWR>Z4W4?)LE?4$L#!!0    ( !QQ6%I>#1!@KP(
M &8&   9    >&PO=V]R:W-H965T<R]S:&5E=#4Y+GAM;)U5VV[;, S]%<&[
MH 6&VG$2K^@2 TW281U6H&C1[5FQ&5NH+IY$-^W?CY(3-\-2/\P/MD21AX>D
M2,^VQCZZ&@#9LY+:S:,:L;F(8U?4H+@[,PUH.MD8JSC2UE:Q:RSP,A@I&:=)
MDL6*"QWELR"[M?G,M"B%AEO+7*L4MR\+D&8[CT;17G GJAJ](,YG#:_@'O"A
MN;6TBWN44BC03AC-+&SFT>7H8I%Y_:#P4\#6':R9CV1MS*/?7)?S*/&$0$*!
M'H'3YPF6(*4'(AJ_=YA1[](;'J[WZ%]#[!3+FCM8&OE+E%C/H_.(E;#AK<0[
ML_T&NWBF'J\PTH4WVW:ZDR1B1>O0J)TQ,5!"=U_^O,O#@<'Y6P;ISB -O#M'
M@>6*(\]GUFR9]=J$YA<AU&!-Y(3V1;E'2Z>"[#!?&J4$4I;1,:Y+MC0:A:Y
M%P(<.UD!<B'=Z2Q&<N9-XF('O.B TS> 1RF[(:S:L2M=0ODW0$PL>ZKIGNHB
M'41<07'&QJ-/+$W2"7NX7[&3]Z<#N.,^!>. ._Z?%!P+O(.;'(?S773A&E[
M/*(V<6"?(,H_OAMER9<!LI.>[&0(/;]R*.@N0LFD0%'Q<+6EX&M!^Y=C;#N\
M:<#S+?J43[/$/[/XZ0B1:4]D.DCD6B-0>,@LL:$^<(45S8[-GM@Q.L.HC6P=
MDU!QR<3> =8<J7L+VU+4M!RE'U@#EFJE6\4VUBAVV5;4*FPT]I<C.6=HV/=6
M QLG7N#%OK!8$R#?H+?=PY&X"/5NZ;J367?@W60'7@8*E_7YR@8C^_%:+@>(
M$OR%8_!,T]7!L41E_]1M,CU2MOB@]Q78*DPX1T&U&KLQT$O[(7K9S8Y7]6X"
MWW!;">WSOR'3Y.PS.;?=5.LV:)HP2=8&:2Z%94T_ K!>@<XWQN!^XQWTOY;\
M#U!+ P04    "  <<5A:(<5VFGT"   +"   &0   'AL+W=O<FMS:&5E=',O
M<VAE970V,"YX;6RU56MOTS 4_2M6D!!(J'GUM9)&6C<02$Q4FX#/;G*;6/,C
MV.YC_Q[;2;T.M0'!]B7QM>\Y/M>^OC?;"7FO:@"-]HQR-0]JK9M9&*JB!H;5
M0#3 S<I:2(:U,645JD8"+AV(T3")HG'(,.%!GKFYI<PSL=&4<%A*I#:,8?FP
M "IV\R .#A.WI*JUG0CSK,$5W('^UBREL4+/4A(&7!'!D83U/+B,9XLXL@#G
M\9W 3AV-D0UE)<2]-3Z7\R"RBH!"H2T%-K\M7 &EELGH^-F1!GY/"SP>']@_
MNN!-,"NLX$K0'Z34]3R8!JB$-=Y0?2MVGZ +:&3Y"D&5^Z)=ZYNF 2HV2@O6
M@8T"1GC[Q_ON((X \?@,(.D B=/=;N147F.-\TR*'9+6V[#9@0O5H8TXPNVM
MW&EI5HG!Z?QK Q)KPBOT!4QP"KVY!HT)56^S4!M^ZQ46'=>BY4K.<,4)NA%<
MUPI]X"643PE"(\RK2P[J%DDOXS44 Y3&[U 2)<,>OM1'FSJ^X1F^&\()V[!3
MH?4"[=N8J087, ],\BN06PCRUZ_B<?2^1];0RQHZ]O0O+^&4ON$+Z!MY?:/>
M8W.J$*XD@'F06B$-\N0A]M.DZ &P5#V"QE[0N)=I";(P0DS90&)MBH,94@2J
MP!3;MW[R %O&"\=H:]4VCP91/!EEX?:$DHE7,NG/*+P_EU&]P'^\L:F7-?WO
MC)J^@+X+K^_B>3*JGR:._YA2<?18":-G3ZJ.<OHDJ^+?<RH\JL\,9.6ZD$*%
MV'#=EFH_ZSO=95O?']W;-GF#946X0A36!AH-)N;)R;;SM(86C:OV*Z%-[W##
MVG1KD-;!K*^%T ?#;N#[?_X+4$L#!!0    ( !QQ6%HC.!/WX (  ,X*   9
M    >&PO=V]R:W-H965T<R]S:&5E=#8Q+GAM;*U674_;,!3]*U:&)I &^6K:
MPMI(M!W:)- 0A>W9)+>-16)GMMNR?S_;24W3A0I$7EK;N>?D'/LDN:,-XT\B
M Y#HN<BI&#N9E.6%ZXHD@P*+,U8"55<6C!=8JBE?NJ+D@%,#*G(W\+R^6V!"
MG7ADUFYY/&(KF1,*MQR)55%@_G<".=N,'=_9+MR192;U@AN/2KR$.<B'\I:K
MF6M94E( %811Q&$Q=B[]BZGO:8"I^$5@(W;&2%MY9.Q)3WZD8\?3BB"'1&H*
MK/[6,(4\UTQ*QY^:U+'WU,#=\9;]RIA79AZQ@"G+?Y-49F-GZ* 4%GB5RSNV
M^0ZUH4CS)2P7YA=MZEK/0<E*2%;48*6@(+3ZQ\_U1NP _/XK@* &!/N WBN
ML :$QFBES-B:88GC$6<;Q'6U8M,#LS<&K=P0JH]Q+KFZ2A1.QC]+X%@2ND37
MH'9#H%-T12BF"<$Y$A)+4&<FA3JQ7(U3)!EB%I)7D.,92$QR<:+ #_,9.CXZ
M04>(4'2?L97 -!4C5RJM^HYN4NN:5+J"5W3Y ;IA5&8"?:,II$T"5YFT3H.M
MTTEPD'$&R1D*_2\H\()>BZ#IV^'A 3FAW?C0\(5OW/BV+:H8>NT,^@&_$"5.
M8.RH)U@ 7X,3?_[D][VO;?8Z(FN8[5FSO4/L\3V3*DY<)0G!LWH#"6BS6W%$
MAD._?M:QWPNCD;O>M=%2%$4#6]20%UEYT4%YUXPN3R7PXK]LM\D\R/7>4^F(
MK&&[;VWW/QS!?I=F.R)KF!U8LX,.(EAQ]'?3%>RDJ[+16A2T1W!HY0T/RIMG
MC,NW9_ @V7N/I2.RAN]SZ_O\PQD\[])L1V0-L[[W\K7U.DAA3=)XR0V&>REL
M*0J]:"^%[DYG4 !?FH9)H(2MJ*P^G7;5-F67IA796Y_H9LUT'"\T5:=W@_F2
M4*'"NE"4WME *>)5\U1-)"M-__'(I.IFS#!3#2=P7:"N+QB3VXF^@6UAXW]0
M2P,$%     @ ''%86MXFWP-, P  4PT  !D   !X;"]W;W)K<VAE971S+W-H
M965T-C(N>&ULK9=K;YLP%(;_BL6JJ976<K\D2Y#65-,J=5O5R_;929Q@%3"S
MG:3]][.!$@*N4Z%^"3;XO'[>@^-C)CM"GUB"$ ?/69JSJ9%P7HQ-DRT2E$%V
M00J4BR<K0C/(19>N3590!)=E4)::CF4%9@9Q;L23\MXMC2=DPU.<HUL*V";+
M('VY1"G930W;>+UQA]<)ES?,>%+ -;I'_+&XI:)G-BI+G*&<89(#BE93XYL]
MGMF>#"A'_,%HQUIM(*W,"7F2G>OEU+ D$4K1@DL)*"Y;-$-I*I4$Q[]:U&CF
ME('M]JOZ]]*\,#.'#,U(^A<O>3(U(@,LT0IN4GY'=C]0;<B7>@N2LO(7[.JQ
ME@$6&\9)5@<+@@SGU14^UXEH!0BCZ@"G#G#>&^#6 6YIM"(K;5U!#N,))3M
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
M"I4UH/VUE*:>V .:?BWZ"E!+ P04    "  <<5A:B[#W2&4"  !E!@  &0
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
MP/LU@U^554$U4!]NSK\#4$L#!!0    ( !QQ6%I1+:?$!0,  +L(   9
M>&PO=V]R:W-H965T<R]S:&5E=#<Q+GAM;*U676^;,!3]*Q:;IDY: P%"TBY!
M:OJA[:%:U6KMLPN7Q(K!S'9(\^]W;0@C&8VB:7D(MKGG^)S+-9?I1LB56@)H
M\I;S0LV<I=;EI>NJ9 DY50-10H%W,B%SJG$J%ZXJ)=#4@G+N^IX7N3EEA1-/
M[=J#C*=BK3DKX$$2M<YS*K=SX&(S<X;.;N&1+9;:++CQM*0+> +]LWR0.'-;
MEI3E4"@F"B(AFSE7P\OKB8FW <\,-JHS)L;)JQ K,_F>SAS/" (.B38,%"\5
M7 /GA@AE_&HXG79+ ^R.=^QWUCMZ>:4*K@5_8:E>SIR)0U+(Z)KK1['Y!HV?
MD>%+!%?VGVR:6,\AR5IID3=@5)"SHK[2MR8/'< P>@?@-P#_$!"^ P@:0&"-
MULJLK1NJ:3R58D.DB48V,["YL6ATPPKS%)^TQ+L,<3I^TB)9D1^ER:DBY^3%
M^H:47%4@\3&2.\HD>:9\#8K0 M<5/O F_.P&-&5<?4;@;5YRL04@749<_TA<
MHI94@IJZ&@6;;=VD$3>OQ?GOB!OZY%X4>JG(;9%"ND_@HM/6KK^S._>/,MY
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
M@-1MWTD6M*>#JI?Z:NPZ [?;&YJK,O.::9;Z%=,JG/H%I_X[.67U[]<A[Q]
MZCH#RQWL(3^<5N57 3XH@ _>"?Q)+T4=[L$!H);3=WMX#W<C@#?N-6SMWOO6
M!7>;? __WS[+XY5I8[MNO6HFN@TKADM2!C=2^JXU&_BMFY5\;2P@VUM(ZB)
MGTG T!,)4[A"7U/!A10TJGC.J:0\O%O>D&W7W:=7-ZL[.$+.WI&S+T*NH9[R
M"!B72\5J'VS,NGG]MMT?E']'^.P4$&Z4'2?S.5YF>8 ]F(Z]S^8CY _>Z1_<
M+$-.Y2D_2N80R(GF_6L2L".4G7-6)N?_$?H%[P0,;E8P;RS*4QXXW8-"LZWV
MH+_/_W!:I6JKO':R!#=J@;&4CJVM=N3Z\R@N]2!?+J$G*%-:[<TBKAG"N=KF
M4MZJ"=NI&^R^3\CA1GET-ML+>:NRW>D>_('"!Q]*FHYC._N2K1G"N13-TB&"
M_.Q:Z+,5CCR:QB+[T"YZB_.;&WUJL=<_4><Z^G!BYR8[%'H@3+YJ.0IA+EU:
M;5>6)LO.6;(;01-]5/%,A:"1;BZ!^,#4!#D^IU1L;U2 XK1K_!-02P,$%
M  @ ''%86I[]A#3=!@  73P  !D   !X;"]W;W)K<VAE971S+W-H965T-S0N
M>&ULS9O1;MLV%(9?A?"*H0.:6"1M)^X2 VG$81W0-6C0]9JQ&%NH)'H4'3?#
M'GZDI(BFK3#6?#JL%XUD\WRDSF\=ZI>HBXU47\NE$!I]R[.BO!PLM5Z]'0[+
M^5+DO#R5*U&8;^ZERKDVNVHQ+%=*\*0*RK,AB:+),.=I,9A=5)_=J-F%7.LL
M+<2-0N4ZS[EZ?"<RN;D<X,'3!Y_2Q5+;#X:SBQ5?B%NA/Z]NE-D;MI0DS451
MIK) 2MQ?#J[P6T;/;4#5XH]4;,JM;60/Y4[*KW;G?7(YB.R(1";FVB*X^?,@
MKD6669(9QY\-=-#V:0.WMY_HOU0';P[FCI?B6F9?TD0O+P?G Y2(>[[.]">Y
M^54T!S2VO+G,RNI_M&G:1@,T7Y=:YDVP&4&>%O5?_JU)Q%8 F3X30)H LAN
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
M=T*RM&RL&*0Q+7[Q<]D11PV@W]$ E0U0LX';T< I&SBYT()9+NL&2[R8<78
M/(M6:-E%WC=Y:Z4FIMDP/DBNWL:JG5PL6:J&?Y.-RYZ A D!1N">A D6(E[%
M(<XZ6X 59ZGJ\G"7[A(L2028W! .PG;KLQLB<9R(<X7S]>$&G'TX!Q] 3,'C
MANT$II&8C:4BGGU^')8DKPN2J(,D1. +HW(CP*\T(E$=8*P45[+1J^QKU(MX
M0\(+X,"/ -G(-1!:OKVYTT/'J4;!R?&<-XU"3%6_$G"6]>>YJ;<*,-<,EBW\
M2['%(9E;"E00OB?6XN>?H&__8E(Z$%A-MUOI=OO0%]<XP30D $N@YA-X(NN8
MTIBN3:(+)"]'RI+3?H&\P%:]OS]6TXZ"DR#0436:7D73.X4FH9&)8('A'WW:
M=]P -0BVH^HR:@3]BJ#?2_"NS*N?8_P4)[%\ 5?17RIYJ'PK351[T4Z=0 .!
MU80'E?!@R(43#*E[(+":[DFE>S+8PIFT9MS(A<UI:0B:^.9).:TX3GLY_F$H
M$;414K25#R'*#33*S4= E8%A*R#Q,S'6BVF++FRMM';,R$'(K G:NE[:O:H>
MF<2)L?P-I:TD4"..7+NASA3EVI,.>4=V /;*^UV1PRG;47E$7=5[R0#!/)MB
M9LZPQ29H$FZ'C-P.NDC310-DYA*DWJ-.LW28HHX72IVB+NVPMX(N;G',P3><
M[$@VZC>$QWN<65=S/PY:VH="JRO7Q1VZ0R9GV.L53M8^$%I=NW8,\"3+T)N@
M8=L3N+ Y.=LQ(\?W.B:G]@VPWSB\9XXN/UU?3U.W*:P=!2==NK0M@+W5]__(
MTH%!G=?**88H.+$[Y.GJ#_O+_W_-TNTJ[TV:C-LQ",$.PMH*P'XO\,8\;2K9
M4Z_)L!WE=A!$NJRC_K)^JZ9!O*9@N>.<T/ %/'),19+/AG\QT_W(I^:MH=#J
M_:#K/X)#YFS4ZR9.UCX06EV[-A/H)#/1F[.1P2Q Y#5=FC',]X*.Z:I-!>HW
M%>^9M\M/USA[TZ:[-D2Y=I<N;1E0_X; ^^?MDD C([LM>::PX_&M"]2^  VQ
ME8 ,U=Y$TA3635*[ M3O"JZ.-OJ*F59/"Y_5&!AI#[JO,!1:O1.TA4"#;BV@
M0?<6AD*K:]?^ @VWO8 ,6P?01TT#:PI#L.L?5J2=!?IQNPS(X$>FL.E@#5$H
MZ%B#CC8DSH_>9W!,^PR>T[1;IC X<3H&SM%.PWF7G0:GO8W@MRBW8Q#LJ$V.
MM@?.$'L-)8A7ZU4W:!H#4UAMU10DQT<G.RGAZ_S 2Z@)H;JM..VHGE:':E?Y
M45+C^36\7!9'8QJF.*G[@KE:W0(D9*4@[8M <>+%X5=Q(]DV/S]Z8E*R-+_<
M$!P1G@6H]RO&Y.M-]H'J"'+Q#U!+ P04    "  <<5A:)N/TL1(#  #*#0
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
MD)J*^N2LOA!L51T^/3$A6%9]7-)X1HO20'X_9TSL+LH'M.>7X_\!4$L#!!0
M   ( !QQ6%J&>O>/5P0  &,<   9    >&PO=V]R:W-H965T<R]S:&5E=#<Y
M+GAM;+59:V_;-A3]*X16#"VP1B+UL)S9!M8$ZX)U0% WVV?&HFTADNB1=-S^
M^Y&RHB=-R!CUQ=;CWN/[.*:.+A<GRE[XGA !ON=9P9?.7HC#K>ORS9[DF-_0
M RGDG2UE.1;RE.U<?F $)Z53GKG(\R(WQVGAK!;EM4>V6M"CR-*"/#+ CWF.
MV8]/)*.GI0.=MPM?T]U>J ON:G' .[(FXNGPR.296Z,D:4X*GM(",+)=.K_!
MVSO?4PZEQ=\I.?'6,5"I/%/ZHDX>DJ7CJ8A(1C9"06#Y]4KN2)8I)!G'OQ6H
M4_^F<FP?OZ'_7B8ODWG&G-S1[)\T$?NE$SL@(5M\S,17>OJ#5 F%"F]#,UY^
M@E-EZSE@<^2"YI6SC"!/B_,W_EX5HN4 @PL.J') 8QW\RL$O$SU'5J9UCP5>
M+1@] ::L)9HZ*&M3>LMLTD*U<2V8O)M*/[%:DYULBI =.5 FTF('<)& #2TV
M\BK#JM0<? 1?:+'[F,F")P!S3@0'[^^)P&G&/\B[3^M[\/[=!_ .I 7XMJ='
M+D'XPA4R0/4S[J8*YM,Y&'0AF'NRN0$^_ 4@#P4:][OQ[G[7W95EJ6N#ZMJ@
M$L__'[71)7E&#?2HZG]YRP]X0Y:._.-QPEZ)L_KY)QAYO^I2M@36*8!?%\ W
MH:]4UV5[VWW7Y7L&"4L0M6R\KI ?S;V%^]I.1&<%H[BVZD08U!$&Q@B?BE3(
MV-8""Z*-S>A^;2\L@74R#>M,PTG(&-HL@"6P3@&BN@"1#3*>0:(6S: '8]0C
MX]!J+LWT7)S5 <Z, =[A B=8%Y/1[]H>6 +KI!C7*<:3D#"V60!+8)T"S.L"
MS&V0<#Z@5X2BL,?!H=',1Q?60^@USW-OS(KXIVQ.0G/M,]@(<&TW;*%UTVW)
M%S@)(RM86T6PA-8M0J-3H%$%C&5EA=)F7.Q%/59JC*!WD9:-DH!F*?&X3[/T
M<)!7]:$9O:]NAR6T;JZ-)H'!-)RT*E9LH76+T,@5:!0#HSD9#NCFAW[_<:VS
M"N+@ BD;10'-DN*A2%+M ]OL=W4G+*%ULVQD"9Q-0T>KLL466K<(C7"!1EDP
MFH[Q@&@(A;!/QZ$5G,TOR$?8: MH%A=KEH(ON'C14]+H>W4W+*%UWZL;D8*\
M:=ZLK4H76VC=(C32!1E5P5A*5BAMLH7QK,=(C5&@9B Z0J+6_,.L*QXXPR33
M!F5WQC'%D ,UV@3YT[#1JFBQA=8M0B-:D'F2,I:-P?#5QN^3<6@#+W&QT1/(
MK"<^$Y;CXH<V)JLS#EMHW3P;38*B:<AH5;+80NL6H9$LR#Q*&4O&V7#5ZW-Q
M"MF!&MF!S++C&Q4X UO*2+HKM"E8'8W80NMFVP@8-)^&NU:UC2VT[LB\T3:^
M>0 S=FCN#>;AT ^]N#\UUY@%7C3K+:=N:P=(;;_]A=DN+3C(R%;Z>3<S"<#.
M.UKG$T$/Y:;0,Q6"YN7AGN"$,&4@[V\I%6\G:I^IWE=<_0=02P,$%     @
M''%86CWU-LS# P  G!(  !D   !X;"]W;W)K<VAE971S+W-H965T.# N>&UL
MM5AACYLX$/TK%JVJ5NHM&!)(MDFD;K:G.U6]6VVZ=Y^], &K8%/;2;K__FP@
M$!*"FA[YL@%GWN/-S,LR]FS'Q3>9 "CT(TN9G%N)4OFM;<LP@8S(&YX#T]^L
MN<B(TK<BMF4N@$0%*$MMUW%\.R.468M9L?8@%C.^42EE\""0W&09$2]WD/+=
MW,+6?N&1QHDR"_9BEI,85J">\@>A[^R:):(9,$DY0P+6<^LCOEWBJ0$4$?]0
MV,F#:V12>>;\F[GY,YI;CE$$*83*4!#]L84EI*EATCJ^5Z16_4P#/+S>L_]>
M)*^3>282ECS]ET8JF5L3"T6P)IM4/?+='U E-#9\(4]E\1?MJEC'0N%&*IY5
M8*T@HZS\)#^J0AP L'\&X%8 ]Q@P.@/P*H!7)%HJ*]*Z)XHL9H+OD##1FLU<
M%+4IT#H;RDP;5TKH;ZG&J<4*8MT4I3N2<Z$HBQ%A$0HY"_6J(*;4$OV&'F$+
M; ,2/;^@&'@L2)Y0S0^QZ<7;>U"$IO*=CGQ:W:.WK]^AUX@R]#7A&ZD)Y<Q6
M6JQYI!U6PNY*8>X98=A%7SA3B42?6 11F\#66=:INOM4[]Q>QGL(;Y"'WR/7
M<4<=@I8_#_=ZY'AUY;V"S_L?E>\J6\DZZF8UO_I;F9,0YI;^64L06[ 6;UYA
MW_G0E?) 9*T"C.H"C/K8%WM/=259(L<%TOPGVBYPX(Q\/+.WA_)/PR9^$(SK
MJ):N<:UKW*OKB5$%$5HIHKK%]<(O[<! 9*U,_3I3_RH6](<LP$!DK0($=0&"
M7[9@B?0/+>AYD\ _LN!IV'@T\IQN"TYJ79.?L>!GW9*(9UWJ>O&7MF @LE:J
MTSK5Z54\.!VR  .1M0J G>85[/RR"RMHRX:.'M&.7-@9%OA^MPWQP72 >Z4M
M"2,1Z136"[RT 4.QM=-TFS3=JYBPHAVJ" .QM8O0S".X]VW?;T/OQ%\3?WKB
MPM.H (_/F;"9$W#_H/ U ?07J 1$>G:6[&6XN!$#L;7S;>8//+Z.&P<=3(9B
M:Q>A&4UP[XN_WXW^J1N=\?38C:=1@3O%9]S8C RX?V;XVQC1[(ER05E(<Y*F
M+XB;1?1I(_3^FC#=JXWN%#VCOI?_XC8-Q-:N1C.HX,EUO#KH #,46[L(S0B#
M>P>$?J].3_8HTXG9?[:]>AH58,\]\JI]L,_/0,3%\8<LW5;N@^O5^HCE8W&P
M<+1^9XY>BO.#AJ8\M_E"1$SUEC^%M:9T;@(M291'(>6-XGEQFO#,E>)9<9D
MB4"8 /W]FG.UOS$/J ^D%O\!4$L#!!0    ( !QQ6%KT3G^-(P4   HC   9
M    >&PO=V]R:W-H965T<R]S:&5E=#@Q+GAM;+5:T7*C-A3]%0W-='9GDH D
MVW%2VS.)TT[[D-W,.FF?%9!M)H!<)-O;F7S\2H 1V%AK7/$2@Y#.O>?J7G$B
M--JR])TO*17@>QPE?.PLA5C=N2[WES0F_)JM:"*?S%D:$R%OTX7+5RDE038H
MCESD>0,W)F'B3$99VW,Z&;&UB,*$/J> K^.8I/\]T(AMQPYT=@W?PL52J 9W
M,EJ1!9U1\;IZ3N6=6Z($84P3'K($I'0^=N[AW13WU8"LQ]\AW?+*-5!4WAA[
M5S=_!6/'4Q[1B/I"01#YLZ%3&D4*2?KQ;P'JE#;5P.KU#OV/C+PD\T8XG;+H
MGS 0R[$S=$! YV0=B6]L^R<M"&4.^BSBV5^P+?IZ#O#77+"X&"P]B,,D_R7?
MBT!4!N#;(P-0,0#M#X!'!N!B ,Z(YIYEM!Z)()-1RK8@5;TEFKK(8I.-EFS"
M1$WC3*3R:2C'B<F,+N2D"#DC*Y:*,%D D@3 9XDO6U.B0LW!%;@/@E!=DPB$
M29X\:A(^/5)!PHA_!A>R';PLV9K+\7SD"NF;LN#ZA1\/N1_HB!\0@2>6B"4'
MOR<!#>H KB15,D,[9@_(B/A(_6N X25 'NJ!U]DC^'3QN0@IE8F<$V_P='HZ
M+C[ -3B.RRG!F0'\/Z:D*< Y:J\952T'=WQ%?#IV9+USFFZH,_GU%SCP?FN*
M@26P6@!Z90!Z)O3)EW7\)F>(S2LA**:+@P_#S#WDN(,,5RU@FPD>N9LJ+Z/E
M,WGU2UY](Z]LC;QB\ZLUIU>$<RHN02)7Z@]PT40F!^M7R/00'N[Q.>S4]_J]
MLE/-ST'IY\#HYXQ$E,O8;VBRICL7I[O"J24B2$/^+I]^8<G5ZZR)A=%4VZRT
M!%:+RDT9E9M.RO+&9@ L@=4","P#,#2FQ?1@XB_!BJ:J3;[PFZCG>,-*<GK7
M".YE<%,G?-.<P;>EJ[=&5^4;7KZ_$[W:?X![WV=KM8"DU*?AAKQ%U)S5382,
M5MO.I26P6H"@I]_[7B?I7,!:BH$MM'H0*N('6D[I K">KG"PE].-O3!L3FJ(
MM+O(Z.[7A%93NNTZW<C':+'U=%I"J\='"R?8C7*"5J63+;1Z$+1X@J>J)S\*
ME61J9'RHE/;79;.9<VEHK03-8NF,TNPW%%UO7S U]CI6F5HQ0;-D>MDRZR\;
ML\G66=F%=H):/,%NU!.T*I]LH=6#H 44-"NHTTIS>%"::#^'C6;.I:'%%32K
MJS-*\[:AZ 8'*TX7B@AI182,8F/RLDPIM5[%9J-M$]@66CU$6B\AV$D5(Z,,
M:QT$2VCU(&@5ALPJ[*0J-F.T9HP,&QMU&EHL(:,..:.*S8"M.>&&-:%_C):6
M/\@L?Z:Z?LU;%J])*&@ 9H((VCR%E@100;<+.86TG$+];BK7J-):!\$26CT(
M6J4ALTH[K7('![7F[;VHS&;.I:&U%#+*E&J*VWE%6=58MM#JP=$:"PV[271+
MFJH(0A<*#6F%ALP*[;1$O_UYHINZU#]N:)F%S3*KDKU/81+&Z]C25H;9;NL/
M(%TH+:R5%NY&:6&K2LL66CT(6FEAL])J+U$*P&/_W1>LNMBEPI7/>S\17DT%
M8&4A-QMN/?E=[&-A+>1PKYL*L"K;;*'5@Z!E&[:]"X;-^UL%JU,VP=S*J0*9
M@XOLL 4'69[FG^'+UO) QWUVC&&O_0'>3?-C&1HF/R7R1-)%F' 0T;F$]*YO
MI%]I?O BOQ%LE9U=>&-"%D)VN:0DH*GJ()_/&1.[&V6@//XR^0%02P,$%
M  @ ''%86A@79)<! P  0@@  !D   !X;"]W;W)K<VAE971S+W-H965T.#(N
M>&ULK59=;]HP%/TK5E9-K=0V7Q!H!Y%*V;0^=*K*NCZ;Y$*\)G9F.]#]^UT[
M(>,C1=NT%V([]QZ?<^V<RV@MY(O* #1Y+7*NQDZF=7GMNBK)H*#J4I3 \<U"
MR()JG,JEJTH)-+5)1>X&GA>Y!67<B4=V[4'&(U'IG'%XD$1514'ESPGD8CUV
M?&>S\,B6F38+;CPJZ1)FH)_*!XDSMT5)60%<,<&)A,78N?&O;P<FW@9\8[!6
M6V-BE,R%>#&3NW3L>(80Y)!H@T#QL8);R',#A#1^-)A.NZ5)W!YOT#]9[:AE
M3A7<BOR9I3H;.T.'I+"@5:X?Q?HS-'KZ!B\1N;*_9-W$>@Y)*J5%T20C@X+Q
M^DE?FSIL)?C1&PE!DQ#L)_3>2 B;A- *K9E965.J:3R28DVDB48T,["UL=FH
MAG%SBC,M\2W#/!W?\4040$YSH=09*4&2648E+DQ!4Y;CV@5YFDW)Z<D94>:-
M(HR3KYFH%.6I.B<G._.1JY&4@7:3AL"D)A"\0< /R+W@.E/D(T\AW05P44TK
M*=A(F@1'$:>07)+0/R>!%_0Z"-W^>7IXA$[85CBT>.'?5;BK4C50KQO(?,_7
MJJ0)C!W\8!7(%3CQ^W=^Y'WH4OF?P'8T]UK-O6/H\1>T'[:CFVHMV;S2=)X#
MT8+<<2Y2O+ XP'+CU2&S:JY8RJADT'F-ZAW[=D?C3:LX&$:1-W)7VZH/HRZN
MO&$;M*.FWZKI'U7S;+T 4D)7(-':" HKT(*:[P&]46E4P/BRBW>-'6WSOO*C
M<(]W1]30#_UNXE%+/#I*?,KRRK@D@<4";9.(Q399(DKCI,I6'X7@ 25&)7I.
M\D(JSG3G.40'3$//[^W).<KK'R_?H%4].*KZ)OV.OHE"L,>1=%,"/+,2KY]1
MW*5J<*@J\ >#/5F'45VGY&[9<0%R:;N40@85U[6-M:MM([RQ_K^W/L$&6?>S
MWS!U=[VG<LGPZ')8(*1W.<#[(^N.54^T**WISX7&%F*'&39YD"8 WR^$T)N)
MV:#]VQ#_ E!+ P04    "  <<5A:^_L,JIP#  #S$   &0   'AL+W=O<FMS
M:&5E=',O<VAE970X,RYX;6S%6-MNXS80_15"!8HMT(UNOB6U#23.%KL/BP8)
MMGUFI)%-A")5DK*S?]\A)<M6(JN;0)N\V*+$.3/G<$8<:KZ3ZD%O  QYS+G0
M"V]C3''A^SK90$[UF2Q X)-,JIP:'*JUKPL%-'5&.?>C()CX.67"6\[=O1NU
MG,O2<";@1A%=YCE5WZ^ R]W""[W]C5NVWAA[PU_."[J&.S#?BAN%([]!25D.
M0C,IB()LX5V&%ZMP; W<C+\9[/31-;%4[J5\L(,OZ<(+;$3 (3$6@N+?%E;
MN47"./ZM0;W&IS4\OMZC_^G((YE[JF$E^3\L-9N%-_-("ADMN;F5N\]0$W(!
M)I)K]TMVU=QIY)&DU$;FM3%&D#-1_=/'6H@C@W!RPB"J#:*G!J,3!G%M$#NB
M562.UC4U=#E7<D>4G8UH]L)IXZR1#1-V&>^,PJ<,[<SRBTAD#N0#EUK_1@I0
MY&Y#%9"/Y#)-F56:<L)$E2]6]P_78"CC./DCT7:JGOL& [%P?E([O:J<1B><
MAA'Y*H79:/))I)"V 7QDT-"(]C2NHE[$:TC.2!S^3J(@&G4$M/IQ\[@GG+A1
M-79X\0F\2V%8RGAI4Y1H2$J%4H(F\)CP$AF33,F<H/)%:2I994: *L'$6KM5
M<-)V*5LY'G4[MD5_H0N:P,+#JM:@MN M?_TEG 1_=*DR$%A+HU&CT:@/?;F2
M>8[$,<.3!U+#IX1N,;GH/0>"*4>RTI28C$SKDHJD4X_*R<0YL>^L[?(\B&8V
M";;'3'MC>273<<-TW,OT>I\)D&7X]K)KC2]4;:A(<;V)+&P&:()#JX-1+#&H
M1"5,*9CIK+#Q,]YQ$(Z"('A"O#>T5Q*?-,0GO<1O#VSN')MOI]CTXKPTJP<"
M:U&>-I2G[U7YTR$U&@BLI=&LT6CV]O4P>U8/XS >C<=/RJ$WLE?R/F]XG_?R
M_I077'X'J(OA+\>SBTLOS$M7>B"P%N,P.+07P7O50^UY()F&0FOK=-2&A6^Q
M&]9>CLO [@G/MX6.B9.X/;'-)#HPB=Z^NFN?K>UNVLFK-[C7+N.A[PM[6Z8?
M+_%^G!<G[\]HY,)#)Q>.WJW(!VK<:IU^1AL8'OK L+\17+45<)*A.O;L]3\J
M='5[7=D_:+?G'QTK<U!K=]K6N(ZE,-4)L[G;G.@OW3G6/TRO/@=\I6K-L.HY
M9&@:G$TQ4%6=L*N!D84[I-Y+@T=>=[D!FH*R$_!Y)J79#ZR#YCO'\C]02P,$
M%     @ ''%86C>S]AD3 @  ! 4  !D   !X;"]W;W)K<VAE971S+W-H965T
M.#0N>&ULK51=;]L@%/TKB%53*VW!'TD[9;:E-M&T/E2*&G5[)O9-C,J'!R3N
M_OT .Y8KN5L?]F*X<,^YG&,N6:OTLZD!+'H17)H<U]8V2T),68.@9J8:D&YG
MK[2@UH7Z0$RC@58!)#A)HNB:",HD+K*PMM%%IHZ6,PD;C<Q1"*I_WP%7;8YC
M?%YX9(?:^@529 T]P!;L4[/1+B(#2\4$2,.41!KV.;Z-EZO4YX>$'PQ:,YHC
MKV2GU+,/[JL<1_Y P*&TGH&ZX00KX-P3N6/\ZCGQ4-(#Q_,S^[>@W6G940,K
MQ7^RRM8Y_H)1!7MZY/91M=^AU[/P?*7B)GQ1V^7>N(KET5@E>K"+!9/=2%]Z
M'T: >/X&(.D!R7L!:0\(SI'N9$'6FEI:9%JU2/MLQ^8GP9N =FJ8]']Q:[7;
M90YGBS5H=J+>2H,^H]NJ8MY=RM&][*Z(]_IR#98R;JY<RM-VC2XOKM %8A(]
M,,Y=@LF(=6?QC*3LZ]YU=9,WZY8SE,:?4!(E\PGXZOWP]#6<. <&&Y+!AB3P
MI?^V84I+!YY/@WVC+4U#2\BQZR0#^@2X^/@AOHZ^3BG[3V2O=*:#SO1O[".=
M2*K^3U.ACM).R>ZXXBB0^??@5"3);)&1TUC/1%8<C;*Z@Y+1'?7OPP/5!R8-
MXK!WL&AVL\!(=SW7!58UX=KNE'5-$*:U>Z9 ^P2WOU?*G@/?"</#5_P!4$L#
M!!0    ( !QQ6%H@'W&;J0(  ' )   9    >&PO=V]R:W-H965T<R]S:&5E
M=#@U+GAM;+6676^;,!2&_XK%JJF5ND(@'VM'D-I$57<Q*6K7[MJ%DV 5;&:;
MT/[['1N"B$;3=F(WP5_OF_,<'V/"2L@GE0)H\IQG7,V=5.OBPG55G$).U9DH
M@./,6LB<:NS*C:L*"32QHCQS?<^;NCEEW(E".[:242A*G3$.*TE4F>=4OEQ!
M)JJY,W)V [=LDVHSX$9A03=P!_J^6$GLN:U+PG+@B@E.)*SGSN7H8C$SZ^V"
M!P:5ZK2)(7D4XLETOB=SQS,!00:Q-@X4'UM80)89(PSC=^/IM']IA-WVSOW:
MLB/+(U6P$-DOENAT[GQU2 )K6F;Z5E0WT/!,C%\L,F5_2=6L]1P2ETJ+O!%C
M!#GC]9,^-WGH"$;C5P1^(_#?*P@:06!!Z\@LUI)J&H525$2:U>AF&C8W5HTT
MC)M=O-,29QGJ=+0$R;;4I%*1+^2:,DFV-"N!B#5F8S='&%=:EKA[6I'C)6C*
M,G5B!$)BHCA&*B7P^(5@7554)B067$O<(^.Z!(5KJ(:$4$522#:,;SJ6N.3^
M;DF.CT[($0Z3GZDH%>6)"EV-B"90-VYPKFH<_U6<^(P$HU/B>_ZX1[YXOSS8
ME[N8V#:[?IM=W_J-7_&[C&-9(C8\XZE3F&*D(D*G(/O0#GJ9XWRA"AK#W,'S
MJD!NP8D^?QI-O6]]H .9[6$'+79@W8.WB^JTKJD'4U-]S,&0S .9[3&/6^;Q
MP:WN'J3DC8+O+>S:?F+MS;MW&XW/ST-WVP4\&,(_ DY:P,E!P)6$@K*^6FY.
MOT98!?UP!ZT_NLT#F>UE8=IF83I4:4^'9![(;(]YUC+/_F]I'[3_:"9F?Y^3
M47M,:CZW<Q^:;Y$?5&*8BF2P1I%W-D.UK._WNJ-%8:_(1Z'QPK7-%#^)0)H%
M.+\60N\ZYM9M/[*B/U!+ P04    "  <<5A:3D]6(YL"  ""!@  &0   'AL
M+W=O<FMS:&5E=',O<VAE970X-BYX;6RM55U3G# 4_2L9ZG1TILK78JW=9<;=
MK5,?;!VM[7.$"V0,"4W"KNVO[TU@Z;JB]J$OD(1[3LZYD,-T+=6]K@ ,>:BY
MT#.O,J8Y]7V=55!3?20;$/BDD*JF!J>J]'6C@.8.5',_"H)COZ9,>.G4K5VI
M="I;PYF *T5T6]=4_9H#E^N9%WJ;A6M65L8N^.FTH27<@+EMKA3._($E9S4(
MS:0@"HJ9=Q:>+A);[PJ^,UCKK3&Q3NZDO+>3BWSF!580<,B,9:!X6\$".+=$
M*.-GS^D-6UK@]GC#?NZ\HY<[JF$A^0^6FVKFG7@DAX*VW%S+]6?H_3B!F>3:
M7<FZKPT\DK7:R+H'HX*:B>Y.'_H^; '"XV< 40^(=@&39P!Q#XB=T4Z9L[6D
MAJ93)==$V6IDLP/7&X=&-TS8MWAC%#YEB#/I$A1;4=M*30[)0@JCL+,:.Z%9
M*:B!G%!-,JHK4N ;)Q7D)9;N+\%0QO4!@FYOEF1_[X#L$2;(MTJVFHI<3WV#
M\NPF?M9+F7=2HF>DA!&YQ/TK33Z)'/+'!#[Z&LQ%&W/SZ$7&)61') [?D2B(
M)B."%O\.CU^0$P^]CAU?_'JOQ[K3@2?C8'N:3W5#,YAY>%PUJ!5XZ=LWX7'P
M<<S9?R)[Y',R^)R\Q)Y^P? I,4#(/I<:/Q$%F2P%^XW?$BY^75R,N>\H$T=I
MHV>5'DX^X$M;;;MZ6A2>)$/-([')(#9Y5:R5:55RJC4K&.HLE*PQ8K*V;KD[
M!*@:Q1N)ETS6,.8@>>H@.=DQ,%(31>&. W_K.->@2I=R> AE*TSW\0^K0Y">
MN?S869]CP'9Y^)>F2^=+JDHF-.%0(&5P]!XEJ2[QNHF1C0N-.VDP@MRPPI\$
M*%N SPLIS69B-QA^.^D?4$L#!!0    ( !QQ6%I!LE](- 0  -40   9
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
M_SNI'B_WUMOCK\NODQ-VKCB'^XKA^2]02P,$%     @ ''%86B';^;$Q @
MS3$  !,   !;0V]N=&5N=%]4>7!E<UTN>&ULS=M-;MLP$(;AJQC:!I8L4J34
M(LZF[;;-HA=@)3H6K#^03.K<OI2<!&B1&@E<H._&@DUROA$'>':^_OXX6;\Z
M]MW@M\D^A.ECEOEZ;WOCTW&R0US9C:XW(7YU=]EDZH.YLYG8;'16CT.P0UB'
MN49R<_W9[LQ]%U9?CO%GWX[#-G&V\\GJTVGCG+5-S#1U;6U"7,\>AN:/E/53
M0AI/+GO\OIW\5=R09*\FS"M_#W@Z]^W!.M<V=G5K7/AJ^K@K.W:9#X^=]>GY
M$J_T..YV;6V;L;[OXY'43\Z:QN^M#7V7GHI>G4\.\8;MZ3._.'\I<RXP[KQU
MX^3CQ)Q]?]SS2.;3ZRD6LBZTYU_Q)3&6OOC][#SMQC9OS([7^W-TAV4>/EL>
ME]_Q[S-^J?_./@2D#PGIHX#TH2!]:$@?):2/"M+'!T@?^8;2"$74G$)J3C$U
MIZ":4U3-*:SF%%=S"JPY159!D5509!44605%5D&155!D%119!45609%54&25
M%%DE159)D5529)44625%5DF155)DE119)476@B)K09&UH,A:4&0M*+(6%%D+
MBJP%1=:"(FM!D5519%44615%5D6155%D5119%45619%54615%%DU159-D553
M9-44635%5DV155-DU119-45639&UI,A:4F0M*;*6%%E+BJPE1=:2(FM)D;6D
MR%I29*THLE8462N*K!5%UHHB:T61M:+(6OU/67^,X^$?QR_/M#?M\)R?+?_B
MN/D%4$L! A0#%     @ ''%86@=!36*!    L0   !               ( !
M     &1O8U!R;W!S+V%P<"YX;6Q02P$"% ,4    "  <<5A:%F!-?O     K
M @  $0              @ &O    9&]C4')O<',O8V]R92YX;6Q02P$"% ,4
M    "  <<5A:F5R<(Q &  "<)P  $P              @ '. 0  >&PO=&AE
M;64O=&AE;64Q+GAM;%!+ 0(4 Q0    ( !QQ6%H,-0DG4@<  + P   8
M          " @0\(  !X;"]W;W)K<VAE971S+W-H965T,2YX;6Q02P$"% ,4
M    "  <<5A:6 ;55(('  "I'P  &               @(&7#P  >&PO=V]R
M:W-H965T<R]S:&5E=#(N>&UL4$L! A0#%     @ ''%86G85*N'9 @  0 D
M !@              ("!3Q<  'AL+W=O<FMS:&5E=',O<VAE970S+GAM;%!+
M 0(4 Q0    ( !QQ6%KWOB35XP4  /$8   8              " @5X:  !X
M;"]W;W)K<VAE971S+W-H965T-"YX;6Q02P$"% ,4    "  <<5A:\_-+AX@'
M  "Y.@  &               @(%W(   >&PO=V]R:W-H965T<R]S:&5E=#4N
M>&UL4$L! A0#%     @ ''%86I_+H5TD!P  $!\  !@              ("!
M-2@  'AL+W=O<FMS:&5E=',O<VAE970V+GAM;%!+ 0(4 Q0    ( !QQ6%J\
MO/;"[QL  $90   8              " @8\O  !X;"]W;W)K<VAE971S+W-H
M965T-RYX;6Q02P$"% ,4    "  <<5A:'P/&Z"X#  !?"   &
M    @(&T2P  >&PO=V]R:W-H965T<R]S:&5E=#@N>&UL4$L! A0#%     @
M''%86F8/QH^  P  BP@  !@              ("!&$\  'AL+W=O<FMS:&5E
M=',O<VAE970Y+GAM;%!+ 0(4 Q0    ( !QQ6%H@GYKX:@@  -$<   9
M          " @<Y2  !X;"]W;W)K<VAE971S+W-H965T,3 N>&UL4$L! A0#
M%     @ ''%86JACVP8L#0  E"L  !D              ("!;UL  'AL+W=O
M<FMS:&5E=',O<VAE970Q,2YX;6Q02P$"% ,4    "  <<5A:[M"_^:T"  #F
M!@  &0              @('2:   >&PO=V]R:W-H965T<R]S:&5E=#$R+GAM
M;%!+ 0(4 Q0    ( !QQ6%IV95>5^P<  &D4   9              " @;9K
M  !X;"]W;W)K<VAE971S+W-H965T,3,N>&UL4$L! A0#%     @ ''%86KR
M1^!Y!0  O@X  !D              ("!Z',  'AL+W=O<FMS:&5E=',O<VAE
M970Q-"YX;6Q02P$"% ,4    "  <<5A:7) ?8Q,'  " %0  &0
M    @(&8>0  >&PO=V]R:W-H965T<R]S:&5E=#$U+GAM;%!+ 0(4 Q0    (
M !QQ6%J4ID.^"0(  -$$   9              " @>*   !X;"]W;W)K<VAE
M971S+W-H965T,38N>&UL4$L! A0#%     @ ''%86OJK^$)R"@  EBL  !D
M             ("!(H,  'AL+W=O<FMS:&5E=',O<VAE970Q-RYX;6Q02P$"
M% ,4    "  <<5A:-]D=A&D#   F"   &0              @('+C0  >&PO
M=V]R:W-H965T<R]S:&5E=#$X+GAM;%!+ 0(4 Q0    ( !QQ6%HO/_<%= 0
M '</   9              " @6N1  !X;"]W;W)K<VAE971S+W-H965T,3DN
M>&UL4$L! A0#%     @ ''%86KSWNPDK#   U2,  !D              ("!
M%I8  'AL+W=O<FMS:&5E=',O<VAE970R,"YX;6Q02P$"% ,4    "  <<5A:
ME/^@)V,$  #N"P  &0              @(%XH@  >&PO=V]R:W-H965T<R]S
M:&5E=#(Q+GAM;%!+ 0(4 Q0    ( !QQ6%JF!-&@V@8  %X2   9
M      " @1*G  !X;"]W;W)K<VAE971S+W-H965T,C(N>&UL4$L! A0#%
M  @ ''%86I?R943R!   ! P  !D              ("!(ZX  'AL+W=O<FMS
M:&5E=',O<VAE970R,RYX;6Q02P$"% ,4    "  <<5A:.M_T34H"  "A!0
M&0              @(%,LP  >&PO=V]R:W-H965T<R]S:&5E=#(T+GAM;%!+
M 0(4 Q0    ( !QQ6%HL=6B^0P(  (H&   9              " @<VU  !X
M;"]W;W)K<VAE971S+W-H965T,C4N>&UL4$L! A0#%     @ ''%86MX!4J'C
M#0  9S,  !D              ("!1[@  'AL+W=O<FMS:&5E=',O<VAE970R
M-BYX;6Q02P$"% ,4    "  <<5A:40"F@&D=  "^6P  &0
M@(%AQ@  >&PO=V]R:W-H965T<R]S:&5E=#(W+GAM;%!+ 0(4 Q0    ( !QQ
M6%K%) 0YSP,  "0*   9              " @0'D  !X;"]W;W)K<VAE971S
M+W-H965T,C@N>&UL4$L! A0#%     @ ''%86EE!L,92 P  ] @  !D
M         ("!!^@  'AL+W=O<FMS:&5E=',O<VAE970R.2YX;6Q02P$"% ,4
M    "  <<5A:5#1>!"<#  "D!P  &0              @(&0ZP  >&PO=V]R
M:W-H965T<R]S:&5E=#,P+GAM;%!+ 0(4 Q0    ( !QQ6%I.$+:.>@4  #@5
M   9              " @>[N  !X;"]W;W)K<VAE971S+W-H965T,S$N>&UL
M4$L! A0#%     @ ''%86K(0ON&5!P   AH  !D              ("!G_0
M 'AL+W=O<FMS:&5E=',O<VAE970S,BYX;6Q02P$"% ,4    "  <<5A:A(YT
MX+H"  #H!@  &0              @(%K_   >&PO=V]R:W-H965T<R]S:&5E
M=#,S+GAM;%!+ 0(4 Q0    ( !QQ6%I,1BUT/@0  &L,   9
M  " @5S_  !X;"]W;W)K<VAE971S+W-H965T,S0N>&UL4$L! A0#%     @
M''%86DJ,R:7M!   -A   !D              ("!T0,! 'AL+W=O<FMS:&5E
M=',O<VAE970S-2YX;6Q02P$"% ,4    "  <<5A:T4OG)GH&   3(0  &0
M            @('U" $ >&PO=V]R:W-H965T<R]S:&5E=#,V+GAM;%!+ 0(4
M Q0    ( !QQ6%J]IZJ[RP,  )$-   9              " @:8/ 0!X;"]W
M;W)K<VAE971S+W-H965T,S<N>&UL4$L! A0#%     @ ''%86O/77_\<"
MDA@  !D              ("!J!,! 'AL+W=O<FMS:&5E=',O<VAE970S."YX
M;6Q02P$"% ,4    "  <<5A:'A3I=-H"  "*!@  &0              @('[
M&P$ >&PO=V]R:W-H965T<R]S:&5E=#,Y+GAM;%!+ 0(4 Q0    ( !QQ6%I%
M<+J?ZP,  !@+   9              " @0P? 0!X;"]W;W)K<VAE971S+W-H
M965T-# N>&UL4$L! A0#%     @ ''%86L0SFTCW!0   R8  !D
M     ("!+B,! 'AL+W=O<FMS:&5E=',O<VAE970T,2YX;6Q02P$"% ,4
M"  <<5A:S;ODHLL"  "1!P  &0              @(%<*0$ >&PO=V]R:W-H
M965T<R]S:&5E=#0R+GAM;%!+ 0(4 Q0    ( !QQ6%HCV-SM'0,  / (   9
M              " @5XL 0!X;"]W;W)K<VAE971S+W-H965T-#,N>&UL4$L!
M A0#%     @ ''%86KW-QG9^ @  R0<  !D              ("!LB\! 'AL
M+W=O<FMS:&5E=',O<VAE970T-"YX;6Q02P$"% ,4    "  <<5A:&=P5-/X"
M  !M"   &0              @(%G,@$ >&PO=V]R:W-H965T<R]S:&5E=#0U
M+GAM;%!+ 0(4 Q0    ( !QQ6%JBWT9-P0,  )$3   9              "
M@9PU 0!X;"]W;W)K<VAE971S+W-H965T-#8N>&UL4$L! A0#%     @ ''%8
M6G;QW(48 P  O0T  !D              ("!E#D! 'AL+W=O<FMS:&5E=',O
M<VAE970T-RYX;6Q02P$"% ,4    "  <<5A:@M2\Q88"  #R!0  &0
M        @('C/ $ >&PO=V]R:W-H965T<R]S:&5E=#0X+GAM;%!+ 0(4 Q0
M   ( !QQ6%J:3"$O @<  *PO   9              " @: _ 0!X;"]W;W)K
M<VAE971S+W-H965T-#DN>&UL4$L! A0#%     @ ''%86B&]TBFZ @  @PD
M !D              ("!V48! 'AL+W=O<FMS:&5E=',O<VAE970U,"YX;6Q0
M2P$"% ,4    "  <<5A:BYI9^?H"  "9"P  &0              @('*20$
M>&PO=V]R:W-H965T<R]S:&5E=#4Q+GAM;%!+ 0(4 Q0    ( !QQ6%KU+!8:
M4 ,  .<+   9              " @?M, 0!X;"]W;W)K<VAE971S+W-H965T
M-3(N>&UL4$L! A0#%     @ ''%86G_K&]'X!   ZQ(  !D
M ("!@E ! 'AL+W=O<FMS:&5E=',O<VAE970U,RYX;6Q02P$"% ,4    "  <
M<5A:7JA\$QP$  #0$   &0              @(&Q50$ >&PO=V]R:W-H965T
M<R]S:&5E=#4T+GAM;%!+ 0(4 Q0    ( !QQ6%J86/FGH0(   <'   9
M          " @01: 0!X;"]W;W)K<VAE971S+W-H965T-34N>&UL4$L! A0#
M%     @ ''%86A[:J;\0 P  _P@  !D              ("!W%P! 'AL+W=O
M<FMS:&5E=',O<VAE970U-BYX;6Q02P$"% ,4    "  <<5A:0ESOWP@%   5
M'P  &0              @($C8 $ >&PO=V]R:W-H965T<R]S:&5E=#4W+GAM
M;%!+ 0(4 Q0    ( !QQ6%HM]]3CV0(  *0(   9              " @6)E
M 0!X;"]W;W)K<VAE971S+W-H965T-3@N>&UL4$L! A0#%     @ ''%86EX-
M$&"O @  9@8  !D              ("!<F@! 'AL+W=O<FMS:&5E=',O<VAE
M970U.2YX;6Q02P$"% ,4    "  <<5A:(<5VFGT"   +"   &0
M    @(%8:P$ >&PO=V]R:W-H965T<R]S:&5E=#8P+GAM;%!+ 0(4 Q0    (
M !QQ6%HC.!/WX (  ,X*   9              " @0QN 0!X;"]W;W)K<VAE
M971S+W-H965T-C$N>&UL4$L! A0#%     @ ''%86MXFWP-, P  4PT  !D
M             ("!(W$! 'AL+W=O<FMS:&5E=',O<VAE970V,BYX;6Q02P$"
M% ,4    "  <<5A:AW6X3QD"  #7!   &0              @(&F= $ >&PO
M=V]R:W-H965T<R]S:&5E=#8S+GAM;%!+ 0(4 Q0    ( !QQ6%I7Y =/J0,
M #<+   9              " @?9V 0!X;"]W;W)K<VAE971S+W-H965T-C0N
M>&UL4$L! A0#%     @ ''%86CKG>2%6 P  NPD  !D              ("!
MUGH! 'AL+W=O<FMS:&5E=',O<VAE970V-2YX;6Q02P$"% ,4    "  <<5A:
MB[#W2&4"  !E!@  &0              @(%C?@$ >&PO=V]R:W-H965T<R]S
M:&5E=#8V+GAM;%!+ 0(4 Q0    ( !QQ6%J(G!G%G@(  + )   9
M      " @?^  0!X;"]W;W)K<VAE971S+W-H965T-C<N>&UL4$L! A0#%
M  @ ''%86O@.Z?AH @  JP8  !D              ("!U(,! 'AL+W=O<FMS
M:&5E=',O<VAE970V."YX;6Q02P$"% ,4    "  <<5A:%206U\D"   5"0
M&0              @(%SA@$ >&PO=V]R:W-H965T<R]S:&5E=#8Y+GAM;%!+
M 0(4 Q0    ( !QQ6%I4OV*X, 0  .@4   9              " @7.) 0!X
M;"]W;W)K<VAE971S+W-H965T-S N>&UL4$L! A0#%     @ ''%86E$MI\0%
M P  NP@  !D              ("!VHT! 'AL+W=O<FMS:&5E=',O<VAE970W
M,2YX;6Q02P$"% ,4    "  <<5A:_\W:+ (*  #F4@  &0
M@($6D0$ >&PO=V]R:W-H965T<R]S:&5E=#<R+GAM;%!+ 0(4 Q0    ( !QQ
M6%JG4:Y,600  /D2   9              " @4^; 0!X;"]W;W)K<VAE971S
M+W-H965T-S,N>&UL4$L! A0#%     @ ''%86I[]A#3=!@  73P  !D
M         ("!WY\! 'AL+W=O<FMS:&5E=',O<VAE970W-"YX;6Q02P$"% ,4
M    "  <<5A:RJ0)!8<"  #)"   &0              @('SI@$ >&PO=V]R
M:W-H965T<R]S:&5E=#<U+GAM;%!+ 0(4 Q0    ( !QQ6%J\<Y$G+P4  (X<
M   9              " @;&I 0!X;"]W;W)K<VAE971S+W-H965T-S8N>&UL
M4$L! A0#%     @ ''%86B;C]+$2 P  R@T  !D              ("!%Z\!
M 'AL+W=O<FMS:&5E=',O<VAE970W-RYX;6Q02P$"% ,4    "  <<5A:H0X0
M/XL%  #+'   &0              @(%@L@$ >&PO=V]R:W-H965T<R]S:&5E
M=#<X+GAM;%!+ 0(4 Q0    ( !QQ6%J&>O>/5P0  &,<   9
M  " @2*X 0!X;"]W;W)K<VAE971S+W-H965T-SDN>&UL4$L! A0#%     @
M''%86CWU-LS# P  G!(  !D              ("!L+P! 'AL+W=O<FMS:&5E
M=',O<VAE970X,"YX;6Q02P$"% ,4    "  <<5A:]$Y_C2,%   *(P  &0
M            @(&JP $ >&PO=V]R:W-H965T<R]S:&5E=#@Q+GAM;%!+ 0(4
M Q0    ( !QQ6%H8%V27 0,  $((   9              " @03& 0!X;"]W
M;W)K<VAE971S+W-H965T.#(N>&UL4$L! A0#%     @ ''%86OO[#*J< P
M\Q   !D              ("!/,D! 'AL+W=O<FMS:&5E=',O<VAE970X,RYX
M;6Q02P$"% ,4    "  <<5A:-[/V&1,"   $!0  &0              @($/
MS0$ >&PO=V]R:W-H965T<R]S:&5E=#@T+GAM;%!+ 0(4 Q0    ( !QQ6%H@
M'W&;J0(  ' )   9              " @5G/ 0!X;"]W;W)K<VAE971S+W-H
M965T.#4N>&UL4$L! A0#%     @ ''%86DY/5B.; @  @@8  !D
M     ("!.=(! 'AL+W=O<FMS:&5E=',O<VAE970X-BYX;6Q02P$"% ,4
M"  <<5A:0;)?2#0$  #5$   &0              @($+U0$ >&PO=V]R:W-H
M965T<R]S:&5E=#@W+GAM;%!+ 0(4 Q0    ( !QQ6%J,,O:S.P,  ,@3   -
M              "  7;9 0!X;"]S='EL97,N>&UL4$L! A0#%     @ ''%8
M6I>*NQS     $P(   L              ( !W-P! %]R96QS+RYR96QS4$L!
M A0#%     @ ''%86GH!:L^C!@  .SD   \              ( !Q=T! 'AL
M+W=O<FMB;V]K+GAM;%!+ 0(4 Q0    ( !QQ6%I RG71C@(  $PS   :
M          "  97D 0!X;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L<U!+ 0(4
M Q0    ( !QQ6%HAV_FQ,0(  ,TQ   3              "  5OG 0!;0V]N
E=&5N=%]4>7!E<UTN>&UL4$L%!@    !? %\ $!H  +WI 0    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>105
<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>106
<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>108
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.25.0.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>204</ContextCount>
  <ElementCount>425</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>79</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>7</UnitCount>
  <MyReports>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>995200090 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>995200100 - Statement - CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>995200105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>995200200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (LOSS)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (LOSS)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>995200300 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>995200400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CASH FLOWS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>995210101 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPolicies</Role>
      <ShortName>Description of Business and Summary of Significant Accounting Estimates and Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>995210201 - Disclosure - Accounts Receivable</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureAccountsReceivable</Role>
      <ShortName>Accounts Receivable</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>995210301 - Disclosure - Property and equipment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipment</Role>
      <ShortName>Property and equipment</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>995210401 - Disclosure - Goodwill and Intangible Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssets</Role>
      <ShortName>Goodwill and Intangible Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>995210501 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureIncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>995210601 - Disclosure - Long-term obligations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureLongTermObligations</Role>
      <ShortName>Long-term obligations</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>995210701 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>995210801 - Disclosure - Operating Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureOperatingLeases</Role>
      <ShortName>Operating Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>995210901 - Disclosure - Pension Benefits</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosurePensionBenefits</Role>
      <ShortName>Pension Benefits</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>995211001 - Disclosure - Capital Stock</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureCapitalStock</Role>
      <ShortName>Capital Stock</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>995211101 - Disclosure - Stock Options</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureStockOptions</Role>
      <ShortName>Stock Options</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>995211201 - Disclosure - Redemption of non-controlling interest</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureRedemptionOfNonControllingInterest</Role>
      <ShortName>Redemption of non-controlling interest</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>995211301 - Disclosure - Comprehensive loss</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureComprehensiveLoss</Role>
      <ShortName>Comprehensive loss</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>995211401 - Disclosure - Segment reporting and concentrations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrations</Role>
      <ShortName>Segment reporting and concentrations</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>995211501 - Disclosure - Income (loss) per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShare</Role>
      <ShortName>Income (loss) per Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>995211601 - Disclosure - Derivatives</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureDerivatives</Role>
      <ShortName>Derivatives</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>995211701 - Disclosure - Line of Credit</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureLineOfCredit</Role>
      <ShortName>Line of Credit</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.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>24</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.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>25</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.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>26</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>99920102 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies</Role>
      <ShortName>Description of Business and Summary of Significant Accounting Estimates and Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPolicies</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>99930103 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesTables</Role>
      <ShortName>Description of Business and Summary of Significant Accounting Estimates and Policies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPolicies</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>99930203 - Disclosure - Accounts Receivable (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureAccountsReceivableTables</Role>
      <ShortName>Accounts Receivable (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureAccountsReceivable</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>99930303 - Disclosure - Property and equipment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentTables</Role>
      <ShortName>Property and equipment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipment</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>99930403 - Disclosure - Goodwill and Intangible Assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsTables</Role>
      <ShortName>Goodwill and Intangible Assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssets</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>99930503 - Disclosure - Income Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables</Role>
      <ShortName>Income Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureIncomeTaxes</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>99930603 - Disclosure - Long-term obligations (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureLongTermObligationsTables</Role>
      <ShortName>Long-term obligations (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureLongTermObligations</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>99930803 - Disclosure - Operating Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureOperatingLeasesTables</Role>
      <ShortName>Operating Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureOperatingLeases</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>99930903 - Disclosure - Pension Benefits (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosurePensionBenefitsTables</Role>
      <ShortName>Pension Benefits (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosurePensionBenefits</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>99931103 - Disclosure - Stock Options (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureStockOptionsTables</Role>
      <ShortName>Stock Options (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureStockOptions</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>99931303 - Disclosure - Comprehensive loss (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureComprehensiveLossTables</Role>
      <ShortName>Comprehensive loss (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureComprehensiveLoss</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>99931403 - Disclosure - Segment reporting and concentrations (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsTables</Role>
      <ShortName>Segment reporting and concentrations (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrations</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>99931503 - Disclosure - Income (loss) per Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareTables</Role>
      <ShortName>Income (loss) per Share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureIncomeTaxes</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>99931603 - Disclosure - Derivatives (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureDerivativesTables</Role>
      <ShortName>Derivatives (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureDerivatives</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>99940101 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails</Role>
      <ShortName>Description of Business and Summary of Significant Accounting Estimates and Policies (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesTables</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>99940102 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies - Stock-based compensation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesStockBasedCompensationDetails</Role>
      <ShortName>Description of Business and Summary of Significant Accounting Estimates and Policies - Stock-based compensation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>99940103 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies - Deferred revenue (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDeferredRevenueDetails</Role>
      <ShortName>Description of Business and Summary of Significant Accounting Estimates and Policies - Deferred revenue (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesTables</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>99940201 - Disclosure - Accounts Receivable (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails</Role>
      <ShortName>Accounts Receivable (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureAccountsReceivableTables</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>99940202 - Disclosure - Accounts Receivable - Activity in allowance for credit losses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails</Role>
      <ShortName>Accounts Receivable - Activity in allowance for credit losses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>99940301 - Disclosure - Property and equipment - Property and equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails</Role>
      <ShortName>Property and equipment - Property and equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>99940302 - Disclosure - Property and equipment - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails</Role>
      <ShortName>Property and equipment - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>99940401 - Disclosure - Goodwill and Intangible Assets - Changes in carrying amount of goodwill (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingAmountOfGoodwillDetails</Role>
      <ShortName>Goodwill and Intangible Assets - Changes in carrying amount of goodwill (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>99940402 - Disclosure - Goodwill and Intangible Assets - Acquisition-related intangible assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails</Role>
      <ShortName>Goodwill and Intangible Assets - Acquisition-related intangible assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>99940403 - Disclosure - Goodwill and Intangible Assets - Estimated amortization expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails</Role>
      <ShortName>Goodwill and Intangible Assets - Estimated amortization expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>99940404 - Disclosure - Goodwill and Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails</Role>
      <ShortName>Goodwill and Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsTables</ParentRole>
      <Position>51</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>99940501 - Disclosure - Income Taxes - Components of provision for income taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails</Role>
      <ShortName>Income Taxes - Components of provision for income taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>99940502 - Disclosure - Income Taxes - Tax rate reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails</Role>
      <ShortName>Income Taxes - Tax rate reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>99940503 - Disclosure - Income Taxes - Deferred tax assets and liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails</Role>
      <ShortName>Income Taxes - Deferred tax assets and liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>99940504 - Disclosure - Income Taxes - United States and foreign components of income (loss) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnitedStatesAndForeignComponentsOfIncomeLossDetails</Role>
      <ShortName>Income Taxes - United States and foreign components of income (loss) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>99940505 - Disclosure - Income Taxes - Unrecognized tax benefits (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails</Role>
      <ShortName>Income Taxes - Unrecognized tax benefits (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>99940506 - Disclosure - Income Taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails</Role>
      <ShortName>Income Taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables</ParentRole>
      <Position>57</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>99940601 - Disclosure - Long-term obligations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails</Role>
      <ShortName>Long-term obligations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureLongTermObligationsTables</ParentRole>
      <Position>58</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>99940701 - Disclosure - Commitments and Contingencies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingenciesDetails</Role>
      <ShortName>Commitments and Contingencies (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingencies</ParentRole>
      <Position>59</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>99940801 - Disclosure - Operating Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails</Role>
      <ShortName>Operating Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureOperatingLeasesTables</ParentRole>
      <Position>60</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>99940802 - Disclosure - Operating Leases - Financial statements related to operating leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails</Role>
      <ShortName>Operating Leases - Financial statements related to operating leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>99940803 - Disclosure - Operating Leases - Net present value of the operating lease liability (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails</Role>
      <ShortName>Operating Leases - Net present value of the operating lease liability (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>99940804 - Disclosure - Operating Leases - Weighted average remaining lease terms (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureOperatingLeasesWeightedAverageRemainingLeaseTermsDetails</Role>
      <ShortName>Operating Leases - Weighted average remaining lease terms (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>99940901 - Disclosure - Pension Benefits - Benefit Obligations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosurePensionBenefitsBenefitObligationsDetails</Role>
      <ShortName>Pension Benefits - Benefit Obligations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>99940902 - Disclosure - Pension Benefits - Components of Net Periodic Pension Cost (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails</Role>
      <ShortName>Pension Benefits - Components of Net Periodic Pension Cost (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>99940903 - Disclosure - Pension Benefits - Recognized in balance sheets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosurePensionBenefitsRecognizedInBalanceSheetsDetails</Role>
      <ShortName>Pension Benefits - Recognized in balance sheets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>99940904 - Disclosure - Pension Benefits - Actuarial assumptions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails</Role>
      <ShortName>Pension Benefits - Actuarial assumptions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>67</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>99940905 - Disclosure - Pension Benefits - Estimated future benefit payments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails</Role>
      <ShortName>Pension Benefits - Estimated future benefit payments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>68</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>99940906 - Disclosure - Pension Benefits - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails</Role>
      <ShortName>Pension Benefits - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>69</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>99941001 - Disclosure - Capital Stock (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails</Role>
      <ShortName>Capital Stock (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureCapitalStock</ParentRole>
      <Position>70</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>99941101 - Disclosure - Stock Options - Weighted Average Fair Values and Assumptions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails</Role>
      <ShortName>Stock Options - Weighted Average Fair Values and Assumptions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>71</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>99941102 - Disclosure - Stock Options - Summary of Stock Option Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails</Role>
      <ShortName>Stock Options - Summary of Stock Option Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>72</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>99941103 - Disclosure - Stock Options - Summary of stock option and Restricted Stock option activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails</Role>
      <ShortName>Stock Options - Summary of stock option and Restricted Stock option activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>73</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>99941104 - Disclosure - Stock Options - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails</Role>
      <ShortName>Stock Options - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>74</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>99941201 - Disclosure - Redemption of non-controlling interest (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureRedemptionOfNonControllingInterestDetails</Role>
      <ShortName>Redemption of non-controlling interest (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureRedemptionOfNonControllingInterest</ParentRole>
      <Position>75</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>99941301 - Disclosure - Comprehensive loss - Reclassifications from accumulated other comprehensive loss (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails</Role>
      <ShortName>Comprehensive loss - Reclassifications from accumulated other comprehensive loss (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>76</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>99941401 - Disclosure - Segment reporting and concentrations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails</Role>
      <ShortName>Segment reporting and concentrations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsTables</ParentRole>
      <Position>77</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>99941402 - Disclosure - Segment reporting and concentrations-significant income statement (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails</Role>
      <ShortName>Segment reporting and concentrations-significant income statement (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>78</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>99941403 - Disclosure - Segment reporting and concentrations - Long-lived assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails</Role>
      <ShortName>Segment reporting and concentrations - Long-lived assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>79</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>99941404 - Disclosure - Segment reporting and concentrations - Revenues by geographic region (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails</Role>
      <ShortName>Segment reporting and concentrations - Revenues by geographic region (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>80</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>99941405 - Disclosure - Segment reporting and concentrations - Additional information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails</Role>
      <ShortName>Segment reporting and concentrations - Additional information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>81</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>99941501 - Disclosure - Income (loss) per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareDetails</Role>
      <ShortName>Income (loss) per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables</ParentRole>
      <Position>82</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R83.htm</HtmlFileName>
      <LongName>99941502 - Disclosure - Income (loss) per Share - Additional information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareAdditionalInformationDetails</Role>
      <ShortName>Income (loss) per Share - Additional information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables</ParentRole>
      <Position>83</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>99941601 - Disclosure - Derivatives - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureDerivativesAdditionalInformationDetails</Role>
      <ShortName>Derivatives - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>84</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R85.htm</HtmlFileName>
      <LongName>99941602 - Disclosure - Derivatives - Fair value of derivative instruments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails</Role>
      <ShortName>Derivatives - Fair value of derivative instruments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>85</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R86.htm</HtmlFileName>
      <LongName>99941603 - Disclosure - Derivatives - Contracts designated as cash flow hedges (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureDerivativesContractsDesignatedAsCashFlowHedgesDetails</Role>
      <ShortName>Derivatives - Contracts designated as cash flow hedges (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>86</Position>
    </Report>
    <Report instance="inod-20241231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R87.htm</HtmlFileName>
      <LongName>99941701 - Disclosure - Line Of Credit (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails</Role>
      <ShortName>Line Of Credit (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>87</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File>inod-20241231.xsd</File>
    <File>inod-20241231_cal.xml</File>
    <File>inod-20241231_def.xml</File>
    <File>inod-20241231_lab.xml</File>
    <File>inod-20241231_pre.xml</File>
    <File doctype="10-K" isDefinitelyFs="true" isUsgaap="true" original="inod-20241231x10k.htm">inod-20241231x10k.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="2">http://fasb.org/srt/2024</BaseTaxonomy>
    <BaseTaxonomy items="919">http://fasb.org/us-gaap/2024</BaseTaxonomy>
    <BaseTaxonomy items="15">http://xbrl.sec.gov/cyd/2024</BaseTaxonomy>
    <BaseTaxonomy items="36">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>111
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "inod-20241231x10k.htm": {
   "nsprefix": "inod",
   "nsuri": "http://www.innodata-isogen.com/20241231",
   "dts": {
    "schema": {
     "local": [
      "inod-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/arcrole/esma-arcrole-2018-11-21.xsd",
      "http://www.xbrl.org/lrr/role/negated-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/2023/calculation-1.1.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/cyd/2024/cyd-af-2024.xsd",
      "https://xbrl.sec.gov/cyd/2024/cyd-af-sub-2024.xsd",
      "https://xbrl.sec.gov/dei/2024/dei-2024.xsd",
      "https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd",
      "https://xbrl.sec.gov/ecd/2024/ecd-sub-2024.xsd",
      "https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "inod-20241231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "inod-20241231_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "inod-20241231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "inod-20241231_pre.xml"
     ]
    },
    "inline": {
     "local": [
      "inod-20241231x10k.htm"
     ]
    }
   },
   "keyStandard": 382,
   "keyCustom": 43,
   "axisStandard": 21,
   "axisCustom": 0,
   "memberStandard": 49,
   "memberCustom": 25,
   "hidden": {
    "total": 22,
    "http://www.innodata-isogen.com/20241231": 2,
    "http://fasb.org/us-gaap/2024": 15,
    "http://xbrl.sec.gov/dei/2024": 5
   },
   "contextCount": 204,
   "entityCount": 1,
   "segmentCount": 79,
   "elementCount": 720,
   "unitCount": 7,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2024": 919,
    "http://xbrl.sec.gov/dei/2024": 36,
    "http://xbrl.sec.gov/cyd/2024": 15,
    "http://xbrl.sec.gov/ecd/2024": 4,
    "http://fasb.org/srt/2024": 2
   },
   "report": {
    "R1": {
     "role": "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation",
     "longName": "995200090 - Document - Document and Entity Information",
     "shortName": "Document and Entity Information",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets",
     "longName": "995200100 - Statement - CONSOLIDATED BALANCE SHEETS",
     "shortName": "CONSOLIDATED BALANCE SHEETS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:OtherShortTermInvestments",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "unique": true
     }
    },
    "R3": {
     "role": "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheetsParenthetical",
     "longName": "995200105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "shortName": "CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:PreferredStockSharesAuthorized",
      "unitRef": "Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "us-gaap:PreferredStockSharesAuthorized",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:PreferredStockSharesOutstanding",
      "unitRef": "Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "us-gaap:PreferredStockSharesOutstanding",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "unique": true
     }
    },
    "R4": {
     "role": "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss",
     "longName": "995200200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (LOSS)",
     "shortName": "CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (LOSS)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:CostsAndExpenses",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "unique": true
     }
    },
    "R5": {
     "role": "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity",
     "longName": "995200300 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "shortName": "CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_egytfkiAH0qoad7x1i3mMw",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_egytfkiAH0qoad7x1i3mMw",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R6": {
     "role": "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows",
     "longName": "995200400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:DeferredIncomeTaxesAndTaxCredits",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "unique": true
     }
    },
    "R7": {
     "role": "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPolicies",
     "longName": "995210101 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies",
     "shortName": "Description of Business and Summary of Significant Accounting Estimates and Policies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "7",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R8": {
     "role": "http://www.innodata-isogen.com/role/DisclosureAccountsReceivable",
     "longName": "995210201 - Disclosure - Accounts Receivable",
     "shortName": "Accounts Receivable",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "8",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:AccountsAndNontradeReceivableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:AccountsAndNontradeReceivableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipment",
     "longName": "995210301 - Disclosure - Property and equipment",
     "shortName": "Property and equipment",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssets",
     "longName": "995210401 - Disclosure - Goodwill and Intangible Assets",
     "shortName": "Goodwill and Intangible Assets",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://www.innodata-isogen.com/role/DisclosureIncomeTaxes",
     "longName": "995210501 - Disclosure - Income Taxes",
     "shortName": "Income Taxes",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://www.innodata-isogen.com/role/DisclosureLongTermObligations",
     "longName": "995210601 - Disclosure - Long-term obligations",
     "shortName": "Long-term obligations",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "inod:LongTermObligationsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "inod:LongTermObligationsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingencies",
     "longName": "995210701 - Disclosure - Commitments and Contingencies",
     "shortName": "Commitments and Contingencies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://www.innodata-isogen.com/role/DisclosureOperatingLeases",
     "longName": "995210801 - Disclosure - Operating Leases",
     "shortName": "Operating Leases",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://www.innodata-isogen.com/role/DisclosurePensionBenefits",
     "longName": "995210901 - Disclosure - Pension Benefits",
     "shortName": "Pension Benefits",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://www.innodata-isogen.com/role/DisclosureCapitalStock",
     "longName": "995211001 - Disclosure - Capital Stock",
     "shortName": "Capital Stock",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://www.innodata-isogen.com/role/DisclosureStockOptions",
     "longName": "995211101 - Disclosure - Stock Options",
     "shortName": "Stock Options",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://www.innodata-isogen.com/role/DisclosureRedemptionOfNonControllingInterest",
     "longName": "995211201 - Disclosure - Redemption of non-controlling interest",
     "shortName": "Redemption of non-controlling interest",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "inod:RedemptionOfNonControllingInterestTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "inod:RedemptionOfNonControllingInterestTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://www.innodata-isogen.com/role/DisclosureComprehensiveLoss",
     "longName": "995211301 - Disclosure - Comprehensive loss",
     "shortName": "Comprehensive loss",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:ComprehensiveIncomeNoteTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:ComprehensiveIncomeNoteTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrations",
     "longName": "995211401 - Disclosure - Segment reporting and concentrations",
     "shortName": "Segment reporting and concentrations",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShare",
     "longName": "995211501 - Disclosure - Income (loss) per Share",
     "shortName": "Income (loss) per Share",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://www.innodata-isogen.com/role/DisclosureDerivatives",
     "longName": "995211601 - Disclosure - Derivatives",
     "shortName": "Derivatives",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://www.innodata-isogen.com/role/DisclosureLineOfCredit",
     "longName": "995211701 - Disclosure - Line of Credit",
     "shortName": "Line of Credit",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "23",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "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": "24",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R25": {
     "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": "25",
     "firstAnchor": {
      "contextRef": "Duration_10_1_2024_To_12_31_2024_e94n7merh0i_5dugZ2QBLQ",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_10_1_2024_To_12_31_2024_e94n7merh0i_5dugZ2QBLQ",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "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": "26",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies",
     "longName": "99920102 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies (Policies)",
     "shortName": "Description of Business and Summary of Significant Accounting Estimates and Policies (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "27",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:BusinessCombinationsPolicy",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:BusinessCombinationsPolicy",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesTables",
     "longName": "99930103 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies (Tables)",
     "shortName": "Description of Business and Summary of Significant Accounting Estimates and Policies (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "28",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableTables",
     "longName": "99930203 - Disclosure - Accounts Receivable (Tables)",
     "shortName": "Accounts Receivable (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "29",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentTables",
     "longName": "99930303 - Disclosure - Property and equipment (Tables)",
     "shortName": "Property and equipment (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "30",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsTables",
     "longName": "99930403 - Disclosure - Goodwill and Intangible Assets (Tables)",
     "shortName": "Goodwill and Intangible Assets (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "31",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables",
     "longName": "99930503 - Disclosure - Income Taxes (Tables)",
     "shortName": "Income Taxes (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "32",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsTables",
     "longName": "99930603 - Disclosure - Long-term obligations (Tables)",
     "shortName": "Long-term obligations (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "33",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "inod:LongTermObligationsDisclosureTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "inod:LongTermObligationsDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "inod:LongTermObligationsDisclosureTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "inod:LongTermObligationsDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesTables",
     "longName": "99930803 - Disclosure - Operating Leases (Tables)",
     "shortName": "Operating Leases (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "34",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "inod:ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "inod:ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsTables",
     "longName": "99930903 - Disclosure - Pension Benefits (Tables)",
     "shortName": "Pension Benefits (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "35",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://www.innodata-isogen.com/role/DisclosureStockOptionsTables",
     "longName": "99931103 - Disclosure - Stock Options (Tables)",
     "shortName": "Stock Options (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "36",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossTables",
     "longName": "99931303 - Disclosure - Comprehensive loss (Tables)",
     "shortName": "Comprehensive loss (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "37",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:ComprehensiveIncomeNoteTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:ComprehensiveIncomeNoteTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsTables",
     "longName": "99931403 - Disclosure - Segment reporting and concentrations (Tables)",
     "shortName": "Segment reporting and concentrations (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "38",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R39": {
     "role": "http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareTables",
     "longName": "99931503 - Disclosure - Income (loss) per Share (Tables)",
     "shortName": "Income (loss) per Share (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "39",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://www.innodata-isogen.com/role/DisclosureDerivativesTables",
     "longName": "99931603 - Disclosure - Derivatives (Tables)",
     "shortName": "Derivatives (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "40",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails",
     "longName": "99940101 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies (Details)",
     "shortName": "Description of Business and Summary of Significant Accounting Estimates and Policies (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "41",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:NumberOfReportableSegments",
      "unitRef": "Unit_Standard_segment_vYtCzY4wxUGW3JZsiWLCYw",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:CapitalizedContractCostAmortizationPeriod",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "unique": true
     }
    },
    "R42": {
     "role": "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesStockBasedCompensationDetails",
     "longName": "99940102 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies - Stock-based compensation (Details)",
     "shortName": "Description of Business and Summary of Significant Accounting Estimates and Policies - Stock-based compensation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "42",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:StockOptionPlanExpense",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock",
       "us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:StockOptionPlanExpense",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock",
       "us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R43": {
     "role": "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDeferredRevenueDetails",
     "longName": "99940103 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies - Deferred revenue (Details)",
     "shortName": "Description of Business and Summary of Significant Accounting Estimates and Policies - Deferred revenue (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "43",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ",
      "name": "us-gaap:ContractWithCustomerLiabilityCurrent",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2022_WoVfVjcRzU6369CtXFJAWg",
      "name": "us-gaap:ContractWithCustomerLiabilityCurrent",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DeferredRevenueByArrangementDisclosureTextBlock",
       "us-gaap:RevenueFromContractWithCustomerPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "unique": true
     }
    },
    "R44": {
     "role": "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails",
     "longName": "99940201 - Disclosure - Accounts Receivable (Details)",
     "shortName": "Accounts Receivable (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "44",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:AccountsReceivableGrossCurrent",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:AccountsReceivableGrossCurrent",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R45": {
     "role": "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails",
     "longName": "99940202 - Disclosure - Accounts Receivable - Activity in allowance for credit losses (Details)",
     "shortName": "Accounts Receivable - Activity in allowance for credit losses (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:ProvisionForDoubtfulAccounts",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "unique": true
     }
    },
    "R46": {
     "role": "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails",
     "longName": "99940301 - Disclosure - Property and equipment - Property and equipment (Details)",
     "shortName": "Property and equipment - Property and equipment (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "46",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "unique": true
     }
    },
    "R47": {
     "role": "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails",
     "longName": "99940302 - Disclosure - Property and equipment - Additional Information (Details)",
     "shortName": "Property and equipment - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "47",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_eQJKcCKF2kW_PycYnUZPVw",
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "unique": true
     }
    },
    "R48": {
     "role": "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingAmountOfGoodwillDetails",
     "longName": "99940401 - Disclosure - Goodwill and Intangible Assets - Changes in carrying amount of goodwill (Details)",
     "shortName": "Goodwill and Intangible Assets - Changes in carrying amount of goodwill (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ",
      "name": "us-gaap:Goodwill",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:GoodwillForeignCurrencyTranslationGainLoss",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfGoodwillTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "unique": true
     }
    },
    "R49": {
     "role": "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails",
     "longName": "99940402 - Disclosure - Goodwill and Intangible Assets - Acquisition-related intangible assets (Details)",
     "shortName": "Goodwill and Intangible Assets - Acquisition-related intangible assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R50": {
     "role": "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails",
     "longName": "99940403 - Disclosure - Goodwill and Intangible Assets - Estimated amortization expense (Details)",
     "shortName": "Goodwill and Intangible Assets - Estimated amortization expense (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R51": {
     "role": "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails",
     "longName": "99940404 - Disclosure - Goodwill and Intangible Assets (Details)",
     "shortName": "Goodwill and Intangible Assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "51",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:GoodwillImpairmentLoss",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_cMNIsVNcS0WVTXprZROG1g",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "unique": true
     }
    },
    "R52": {
     "role": "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails",
     "longName": "99940501 - Disclosure - Income Taxes - Components of provision for income taxes (Details)",
     "shortName": "Income Taxes - Components of provision for income taxes (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "52",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:CurrentForeignTaxExpenseBenefit",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:CurrentForeignTaxExpenseBenefit",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R53": {
     "role": "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails",
     "longName": "99940502 - Disclosure - Income Taxes - Tax rate reconciliation (Details)",
     "shortName": "Income Taxes - Tax rate reconciliation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "53",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R54": {
     "role": "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
     "longName": "99940503 - Disclosure - Income Taxes - Deferred tax assets and liabilities (Details)",
     "shortName": "Income Taxes - Deferred tax assets and liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "54",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R55": {
     "role": "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnitedStatesAndForeignComponentsOfIncomeLossDetails",
     "longName": "99940504 - Disclosure - Income Taxes - United States and foreign components of income (loss) (Details)",
     "shortName": "Income Taxes - United States and foreign components of income (loss) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "55",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R56": {
     "role": "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails",
     "longName": "99940505 - Disclosure - Income Taxes - Unrecognized tax benefits (Details)",
     "shortName": "Income Taxes - Unrecognized tax benefits (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "56",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ",
      "name": "us-gaap:UnrecognizedTaxBenefits",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "unique": true
     }
    },
    "R57": {
     "role": "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails",
     "longName": "99940506 - Disclosure - Income Taxes (Details)",
     "shortName": "Income Taxes (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "57",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:DeferredTaxAssetsValuationAllowance",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "unique": true
     }
    },
    "R58": {
     "role": "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails",
     "longName": "99940601 - Disclosure - Long-term obligations (Details)",
     "shortName": "Long-term obligations (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "58",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:PostemploymentBenefitsLiabilityCurrentAndNoncurrent",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "inod:LongTermObligationsDisclosureTableTextBlock",
       "inod:LongTermObligationsDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:PostemploymentBenefitsLiabilityCurrentAndNoncurrent",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "inod:LongTermObligationsDisclosureTableTextBlock",
       "inod:LongTermObligationsDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R59": {
     "role": "http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingenciesDetails",
     "longName": "99940701 - Disclosure - Commitments and Contingencies (Details)",
     "shortName": "Commitments and Contingencies (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "59",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:LitigationReserve",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:LitigationReserve",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R60": {
     "role": "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails",
     "longName": "99940801 - Disclosure - Operating Leases (Details)",
     "shortName": "Operating Leases (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "60",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_srt_RangeAxis_srt_MinimumMember_SipQmlg36kW6u5QpLXmzLg",
      "name": "inod:PercentageOfRentalEscalations",
      "unitRef": "Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "4",
      "ancestors": [
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_srt_RangeAxis_srt_MinimumMember_SipQmlg36kW6u5QpLXmzLg",
      "name": "inod:PercentageOfRentalEscalations",
      "unitRef": "Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "4",
      "ancestors": [
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R61": {
     "role": "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails",
     "longName": "99940802 - Disclosure - Operating Leases - Financial statements related to operating leases (Details)",
     "shortName": "Operating Leases - Financial statements related to operating leases (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "61",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:OperatingLeaseExpense",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "inod:ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:OperatingLeaseExpense",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "inod:ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R62": {
     "role": "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails",
     "longName": "99940803 - Disclosure - Operating Leases - Net present value of the operating lease liability (Details)",
     "shortName": "Operating Leases - Net present value of the operating lease liability (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "62",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R63": {
     "role": "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesWeightedAverageRemainingLeaseTermsDetails",
     "longName": "99940804 - Disclosure - Operating Leases - Weighted average remaining lease terms (Details)",
     "shortName": "Operating Leases - Weighted average remaining lease terms (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "63",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "inod:ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "inod:ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R64": {
     "role": "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsBenefitObligationsDetails",
     "longName": "99940901 - Disclosure - Pension Benefits - Benefit Obligations (Details)",
     "shortName": "Pension Benefits - Benefit Obligations (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "64",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ",
      "name": "us-gaap:DefinedBenefitPlanBenefitObligation",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2022_WoVfVjcRzU6369CtXFJAWg",
      "name": "us-gaap:DefinedBenefitPlanBenefitObligation",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "unique": true
     }
    },
    "R65": {
     "role": "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails",
     "longName": "99940902 - Disclosure - Pension Benefits - Components of Net Periodic Pension Cost (Details)",
     "shortName": "Pension Benefits - Components of Net Periodic Pension Cost (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "65",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:DefinedBenefitPlanServiceCost",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfNetBenefitCostsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "unique": true
     }
    },
    "R66": {
     "role": "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsRecognizedInBalanceSheetsDetails",
     "longName": "99940903 - Disclosure - Pension Benefits - Recognized in balance sheets (Details)",
     "shortName": "Pension Benefits - Recognized in balance sheets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "66",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R67": {
     "role": "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails",
     "longName": "99940904 - Disclosure - Pension Benefits - Actuarial assumptions (Details)",
     "shortName": "Pension Benefits - Actuarial assumptions (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "67",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2024_srt_RangeAxis_srt_MinimumMember_l_Zbsb2eb0u2_FRbUsP-cA",
      "name": "us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate",
      "unitRef": "Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "4",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAssumptionsUsedTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2024_srt_RangeAxis_srt_MinimumMember_l_Zbsb2eb0u2_FRbUsP-cA",
      "name": "us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate",
      "unitRef": "Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "4",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAssumptionsUsedTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R68": {
     "role": "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails",
     "longName": "99940905 - Disclosure - Pension Benefits - Estimated future benefit payments (Details)",
     "shortName": "Pension Benefits - Estimated future benefit payments (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "68",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfExpectedBenefitPaymentsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfExpectedBenefitPaymentsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R69": {
     "role": "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails",
     "longName": "99940906 - Disclosure - Pension Benefits - Additional Information (Details)",
     "shortName": "Pension Benefits - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "69",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "inod:DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "inod:DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R70": {
     "role": "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails",
     "longName": "99941001 - Disclosure - Capital Stock (Details)",
     "shortName": "Capital Stock (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "70",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:CommonStockSharesAuthorized",
      "unitRef": "Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "us-gaap:CommonStockSharesAuthorized",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "inod:NumberOfVotesForEachShareOfCommonStock",
      "unitRef": "Unit_Divide_Vote_shares_BYSm1KDzP0aI6SdGunFURg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "unique": true
     }
    },
    "R71": {
     "role": "http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails",
     "longName": "99941101 - Disclosure - Stock Options - Weighted Average Fair Values and Assumptions (Details)",
     "shortName": "Stock Options - Weighted Average Fair Values and Assumptions (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "71",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_S1GDvg3IeE2XmKn1NwjnPQ",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
      "unitRef": "Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_S1GDvg3IeE2XmKn1NwjnPQ",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
      "unitRef": "Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R72": {
     "role": "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails",
     "longName": "99941102 - Disclosure - Stock Options - Summary of Stock Option Activity (Details)",
     "shortName": "Stock Options - Summary of Stock Option Activity (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "72",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
      "unitRef": "Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
      "unitRef": "Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R73": {
     "role": "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails",
     "longName": "99941103 - Disclosure - Stock Options - Summary of stock option and Restricted Stock option activity (Details)",
     "shortName": "Stock Options - Summary of stock option and Restricted Stock option activity (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "73",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_fk5-2GIc_E6yEF_SV2noWQ",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "unitRef": "Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_NGDGuB25Dk-L2onuGDgqzQ",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "unitRef": "Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "unique": true
     }
    },
    "R74": {
     "role": "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails",
     "longName": "99941104 - Disclosure - Stock Options - Additional Information (Details)",
     "shortName": "Stock Options - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "74",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_dPb8d2je8km8OBvQeNYlZg",
      "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_dPb8d2je8km8OBvQeNYlZg",
      "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R75": {
     "role": "http://www.innodata-isogen.com/role/DisclosureRedemptionOfNonControllingInterestDetails",
     "longName": "99941201 - Disclosure - Redemption of non-controlling interest (Details)",
     "shortName": "Redemption of non-controlling interest (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "75",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "inod:NoncontrollingInterestRedemptionPercentageByParent",
      "unitRef": "Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "3",
      "ancestors": [
       "span",
       "p",
       "inod:RedemptionOfNonControllingInterestTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "inod:NoncontrollingInterestRedemptionPercentageByParent",
      "unitRef": "Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "3",
      "ancestors": [
       "span",
       "p",
       "inod:RedemptionOfNonControllingInterestTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R76": {
     "role": "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails",
     "longName": "99941301 - Disclosure - Comprehensive loss - Reclassifications from accumulated other comprehensive loss (Details)",
     "shortName": "Comprehensive loss - Reclassifications from accumulated other comprehensive loss (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "76",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_OlEFfdk_ZU-DlbK6CaR86Q",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:ComprehensiveIncomeNoteTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "unique": true
     }
    },
    "R77": {
     "role": "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails",
     "longName": "99941401 - Disclosure - Segment reporting and concentrations (Details)",
     "shortName": "Segment reporting and concentrations (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "77",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:Assets",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_ZkcQQYagPUyHD8wdcfG0jQ",
      "name": "us-gaap:Assets",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "unique": true
     }
    },
    "R78": {
     "role": "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails",
     "longName": "99941402 - Disclosure - Segment reporting and concentrations-significant income statement (Details)",
     "shortName": "Segment reporting and concentrations-significant income statement (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "78",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:GrossProfit",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "unique": true
     }
    },
    "R79": {
     "role": "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails",
     "longName": "99941403 - Disclosure - Segment reporting and concentrations - Long-lived assets (Details)",
     "shortName": "Segment reporting and concentrations - Long-lived assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "79",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:NoncurrentAssets",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:NoncurrentAssets",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R80": {
     "role": "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails",
     "longName": "99941404 - Disclosure - Segment reporting and concentrations - Revenues by geographic region (Details)",
     "shortName": "Segment reporting and concentrations - Revenues by geographic region (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "80",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_srt_StatementGeographicalAxis_country_US_nDQWfjvHv0y2oQwWoBJaEA",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "unique": true
     }
    },
    "R81": {
     "role": "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails",
     "longName": "99941405 - Disclosure - Segment reporting and concentrations - Additional information (Details)",
     "shortName": "Segment reporting and concentrations - Additional information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "81",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:NumberOfReportableSegments",
      "unitRef": "Unit_Standard_segment_vYtCzY4wxUGW3JZsiWLCYw",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_srt_StatementGeographicalAxis_us-gaap_NonUsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_MPu6YzbxnkaAhAa2gAdCug",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "unique": true
     }
    },
    "R82": {
     "role": "http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareDetails",
     "longName": "99941501 - Disclosure - Income (loss) per Share (Details)",
     "shortName": "Income (loss) per Share (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "82",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R83": {
     "role": "http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareAdditionalInformationDetails",
     "longName": "99941502 - Disclosure - Income (loss) per Share - Additional information (Details)",
     "shortName": "Income (loss) per Share - Additional information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "83",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:CommonStockCapitalSharesReservedForFutureIssuance",
      "unitRef": "Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_8DuPb6w0zU6DLbsVO6seHA",
      "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
      "unitRef": "Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "unique": true
     }
    },
    "R84": {
     "role": "http://www.innodata-isogen.com/role/DisclosureDerivativesAdditionalInformationDetails",
     "longName": "99941601 - Disclosure - Derivatives - Additional Information (Details)",
     "shortName": "Derivatives - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "84",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:DerivativeNotionalAmount",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ",
      "name": "us-gaap:DerivativeNotionalAmount",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R85": {
     "role": "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails",
     "longName": "99941602 - Disclosure - Derivatives - Fair value of derivative instruments (Details)",
     "shortName": "Derivatives - Fair value of derivative instruments (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "85",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2024_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_WqCf5fkajkCAgTVIJ0pPWw",
      "name": "us-gaap:DerivativeInstrumentsAndHedgesLiabilities",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2024_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_WqCf5fkajkCAgTVIJ0pPWw",
      "name": "us-gaap:DerivativeInstrumentsAndHedgesLiabilities",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R86": {
     "role": "http://www.innodata-isogen.com/role/DisclosureDerivativesContractsDesignatedAsCashFlowHedgesDetails",
     "longName": "99941603 - Disclosure - Derivatives - Contracts designated as cash flow hedges (Details)",
     "shortName": "Derivatives - Contracts designated as cash flow hedges (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "86",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA",
      "name": "us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R87": {
     "role": "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails",
     "longName": "99941701 - Disclosure - Line Of Credit (Details)",
     "shortName": "Line Of Credit (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "87",
     "firstAnchor": {
      "contextRef": "As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_ARKlRptwm0ecXlwdFM97gA",
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_ARKlRptwm0ecXlwdFM97gA",
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "unitRef": "Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20241231x10k.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "us-gaap_AccountingPoliciesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountingPoliciesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Description of Business and Summary of Significant Accounting Estimates and Policies"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsAndNontradeReceivableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsAndNontradeReceivableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts and Nontrade Receivable [Text Block]",
        "terseLabel": "Accounts Receivable",
        "documentation": "The entire disclosure for accounts receivable, contract receivable, receivable held-for-sale, and nontrade receivable."
       }
      }
     },
     "auth_ref": [
      "r334",
      "r339"
     ]
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Payable Current",
        "verboseLabel": "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": [
      "r90",
      "r874"
     ]
    },
    "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Allowance for Credit Loss [Table Text Block]",
        "terseLabel": "Schedule of activity in allowance for credit losses",
        "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r1064"
     ]
    },
    "us-gaap_AccountsReceivableGrossCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableGrossCurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, before Allowance for Credit Loss, Current",
        "terseLabel": "Gross 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, classified as current."
       }
      }
     },
     "auth_ref": [
      "r230",
      "r336",
      "r836"
     ]
    },
    "us-gaap_AccountsReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable [Member]",
        "terseLabel": "Accounts receivable",
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold."
       }
      }
     },
     "auth_ref": [
      "r816"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, after Allowance for Credit Loss, Current",
        "totalLabel": "Accounts receivable, net",
        "verboseLabel": "Accounts receivable, net of allowance for credit losses",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r1059"
     ]
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedLiabilitiesCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Liabilities Current",
        "verboseLabel": "Accrued expenses",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r93"
     ]
    },
    "us-gaap_AccruedLiabilitiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedLiabilitiesMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Liabilities [Member]",
        "terseLabel": "Accrued expenses and other",
        "documentation": "This item represents 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."
       }
      }
     },
     "auth_ref": [
      "r93"
     ]
    },
    "us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedDefinedBenefitPlansAdjustmentMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Defined Benefit Plans Adjustment Attributable to Parent [Member]",
        "terseLabel": "Pension Liability Adjustment",
        "documentation": "Accumulated other comprehensive (income) loss related to defined benefit plans attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r5",
      "r16",
      "r26",
      "r114",
      "r1033",
      "r1034",
      "r1035"
     ]
    },
    "us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedGainLossNetCashFlowHedgeParentMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Gain (Loss), Net, Cash Flow Hedge, Parent [Member]",
        "terseLabel": "Fair Value of Derivatives",
        "documentation": "Accumulated other comprehensive income (loss) from gain (loss) of derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness, attributable to parent."
       }
      }
     },
     "auth_ref": [
      "r236",
      "r244",
      "r245",
      "r576",
      "r838",
      "r1033"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedOtherComprehensiveIncomeLossLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Other Comprehensive Income (Loss) [Line Items]",
        "verboseLabel": "Comprehensive income (loss)",
        "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": [
      "r243",
      "r244",
      "r605",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Other Comprehensive Income (Loss), Net Of Tax",
        "verboseLabel": "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": [
      "r25",
      "r26",
      "r115",
      "r231",
      "r686",
      "r720",
      "r721"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedOtherComprehensiveIncomeLossTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Other Comprehensive Income (Loss) [Table]",
        "documentation": "Disclosure of information about components of accumulated other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r243",
      "r244",
      "r605",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Other Comprehensive Loss [Member]",
        "terseLabel": "Accumulated Other Comprehensive Loss",
        "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",
      "r16",
      "r26",
      "r585",
      "r588",
      "r627",
      "r716",
      "r717",
      "r1033",
      "r1034",
      "r1035",
      "r1047",
      "r1048",
      "r1049",
      "r1050"
     ]
    },
    "us-gaap_AccumulatedTranslationAdjustmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedTranslationAdjustmentMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Foreign Currency Adjustment Attributable to Parent [Member]",
        "terseLabel": "Foreign Currency Translation Adjustment",
        "documentation": "Accumulated other comprehensive income (loss) resulting from 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 the parent."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r16",
      "r26",
      "r112",
      "r113",
      "r244",
      "r245",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r1033"
     ]
    },
    "inod_AcquiredIntangibleAssetsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "AcquiredIntangibleAssetsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This member stands for acquired intangible assets.",
        "label": "Acquired Intangible Assets [Member]",
        "terseLabel": "Acquired Intangible Assets"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_Additional402vDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "Additional402vDisclosureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional 402(v) Disclosure [Text Block]",
        "terseLabel": "Additional 402(v) Disclosure"
       }
      }
     },
     "auth_ref": [
      "r948"
     ]
    },
    "us-gaap_AdditionalPaidInCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdditionalPaidInCapital",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid In Capital",
        "terseLabel": "Additional paid-in capital",
        "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": [
      "r105",
      "r874",
      "r1212"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureRedemptionOfNonControllingInterestDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid-in Capital [Member]",
        "terseLabel": "Additional Paid-in Capital",
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders."
       }
      }
     },
     "auth_ref": [
      "r736",
      "r1047",
      "r1048",
      "r1049",
      "r1050",
      "r1150",
      "r1213"
     ]
    },
    "ecd_AdjToCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation Amount",
        "terseLabel": "Adjustment to Compensation, Amount"
       }
      }
     },
     "auth_ref": [
      "r961"
     ]
    },
    "ecd_AdjToCompAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToCompAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation [Axis]",
        "terseLabel": "Adjustment to Compensation:"
       }
      }
     },
     "auth_ref": [
      "r961"
     ]
    },
    "ecd_AdjToNonPeoNeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToNonPeoNeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]",
        "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote"
       }
      }
     },
     "auth_ref": [
      "r961"
     ]
    },
    "ecd_AdjToPeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToPeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment To PEO Compensation, Footnote [Text Block]",
        "terseLabel": "Adjustment To PEO Compensation, Footnote"
       }
      }
     },
     "auth_ref": [
      "r961"
     ]
    },
    "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Payment Arrangement, Decrease for Tax Withholding Obligation",
        "negatedLabel": "Shares withheld for exercise net settlement",
        "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsToAdditionalPaidInCapitalOther",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Additional Paid in Capital, Other",
        "terseLabel": "Redemption of non-controlling interest",
        "documentation": "Amount of other increase (decrease) in additional paid in capital (APIC)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition",
        "terseLabel": "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": [
      "r64",
      "r65",
      "r480"
     ]
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments To Reconcile Net Income Loss To Cash Provided By Used In Operating Activities [Abstract]",
        "terseLabel": "Adjustments to reconcile consolidated net income (loss) to net cash provided by operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtChngPnsnValInSummryCompstnTblForAplblYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table [Member]",
        "terseLabel": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table"
       }
      }
     },
     "auth_ref": [
      "r1006"
     ]
    },
    "ecd_AggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Amount",
        "terseLabel": "Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r919",
      "r930",
      "r940",
      "r973"
     ]
    },
    "ecd_AggtErrCompNotYetDeterminedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtErrCompNotYetDeterminedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]",
        "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined"
       }
      }
     },
     "auth_ref": [
      "r922",
      "r933",
      "r943",
      "r976"
     ]
    },
    "ecd_AggtPnsnAdjsSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtPnsnAdjsSvcCstMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Pension Adjustments Service Cost [Member]",
        "terseLabel": "Aggregate Pension Adjustments Service Cost"
       }
      }
     },
     "auth_ref": [
      "r1007"
     ]
    },
    "inod_AgilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "AgilityMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents information pertaining to Agility segment.",
        "label": "Agility [Member]",
        "terseLabel": "Agility"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AllAdjToCompMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllAdjToCompMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Adjustments to Compensation [Member]",
        "terseLabel": "All Adjustments to Compensation"
       }
      }
     },
     "auth_ref": [
      "r961"
     ]
    },
    "ecd_AllExecutiveCategoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllExecutiveCategoriesMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Executive Categories [Member]",
        "terseLabel": "All Executive Categories"
       }
      }
     },
     "auth_ref": [
      "r968"
     ]
    },
    "ecd_AllIndividualsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllIndividualsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Individuals [Member]",
        "terseLabel": "All Individuals"
       }
      }
     },
     "auth_ref": [
      "r923",
      "r934",
      "r944",
      "r968",
      "r977",
      "r981",
      "r989"
     ]
    },
    "ecd_AllTradingArrangementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllTradingArrangementsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Trading Arrangements [Member]",
        "terseLabel": "All Trading Arrangements"
       }
      }
     },
     "auth_ref": [
      "r987"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails",
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Allowance for Credit Loss, Current",
        "negatedLabel": "Allowance for credit losses",
        "periodEndLabel": "Balance at end of year",
        "periodStartLabel": "Balance at beginning of year",
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r232",
      "r337",
      "r342"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Allowance for Credit Loss, Writeoff",
        "negatedLabel": "Write-offs against allowance",
        "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance."
       }
      }
     },
     "auth_ref": [
      "r344"
     ]
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization of Intangible Assets",
        "verboseLabel": "Amortization expense",
        "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",
      "r359",
      "r365",
      "r855"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities Excluded From Computation Of Earnings Per Share, Amount",
        "verboseLabel": "Computation of diluted loss per share",
        "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": [
      "r292"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities Excluded From Computation Of Earnings Per Share, By Antidilutive Securities [Axis]",
        "documentation": "Information by type of antidilutive security."
       }
      }
     },
     "auth_ref": [
      "r31"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]",
        "terseLabel": "Antidilutive securities excluded from computation of earnings per share",
        "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_AntidilutiveSecuritiesNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AntidilutiveSecuritiesNameDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities, Name [Domain]",
        "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented."
       }
      }
     },
     "auth_ref": [
      "r31"
     ]
    },
    "srt_AsiaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "AsiaMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Asia [Member]",
        "terseLabel": "Asia",
        "documentation": "Continent of Asia."
       }
      }
     },
     "auth_ref": [
      "r1021",
      "r1022",
      "r1023",
      "r1024",
      "r1215",
      "r1216",
      "r1217",
      "r1218"
     ]
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Assets",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Total",
        "terseLabel": "Total assets",
        "totalLabel": "Total assets",
        "documentation": "Amount of asset recognized for present right to economic benefit."
       }
      }
     },
     "auth_ref": [
      "r163",
      "r174",
      "r226",
      "r262",
      "r297",
      "r304",
      "r322",
      "r326",
      "r338",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r572",
      "r577",
      "r598",
      "r680",
      "r764",
      "r848",
      "r849",
      "r874",
      "r898",
      "r1100",
      "r1101",
      "r1170"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "verboseLabel": "ASSETS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current, Total",
        "totalLabel": "Total current assets",
        "documentation": "Amount of asset recognized for present right to economic benefit, classified as current."
       }
      }
     },
     "auth_ref": [
      "r220",
      "r233",
      "r262",
      "r338",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r572",
      "r577",
      "r598",
      "r874",
      "r1100",
      "r1101",
      "r1170"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current [Abstract]",
        "verboseLabel": "Current assets:"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AuditorFirmId": {
     "xbrltype": "nonemptySequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorFirmId",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Firm ID",
        "documentation": "PCAOB issued Audit Firm Identifier"
       }
      }
     },
     "auth_ref": [
      "r902",
      "r903",
      "r926"
     ]
    },
    "dei_AuditorLocation": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorLocation",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location"
       }
      }
     },
     "auth_ref": [
      "r902",
      "r903",
      "r926"
     ]
    },
    "dei_AuditorName": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorName",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name"
       }
      }
     },
     "auth_ref": [
      "r902",
      "r903",
      "r926"
     ]
    },
    "ecd_AwardExrcPrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardExrcPrice",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Exercise Price",
        "terseLabel": "Exercise Price"
       }
      }
     },
     "auth_ref": [
      "r984"
     ]
    },
    "ecd_AwardGrantDateFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardGrantDateFairValue",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Grant Date Fair Value",
        "terseLabel": "Fair Value as of Grant Date"
       }
      }
     },
     "auth_ref": [
      "r985"
     ]
    },
    "ecd_AwardTmgDiscLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgDiscLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Disclosures [Line Items]",
        "terseLabel": "Award Timing Disclosures"
       }
      }
     },
     "auth_ref": [
      "r980"
     ]
    },
    "ecd_AwardTmgHowMnpiCnsdrdTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgHowMnpiCnsdrdTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing, How MNPI Considered [Text Block]",
        "terseLabel": "Award Timing, How MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r980"
     ]
    },
    "ecd_AwardTmgMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Method [Text Block]",
        "terseLabel": "Award Timing Method"
       }
      }
     },
     "auth_ref": [
      "r980"
     ]
    },
    "ecd_AwardTmgMnpiCnsdrdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgMnpiCnsdrdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Considered [Flag]",
        "terseLabel": "Award Timing MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r980"
     ]
    },
    "ecd_AwardTmgMnpiDiscTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgMnpiDiscTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Disclosure [Text Block]",
        "terseLabel": "Award Timing MNPI Disclosure"
       }
      }
     },
     "auth_ref": [
      "r980"
     ]
    },
    "ecd_AwardTmgPredtrmndFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgPredtrmndFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Predetermined [Flag]",
        "terseLabel": "Award Timing Predetermined"
       }
      }
     },
     "auth_ref": [
      "r980"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsTables",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Type [Axis]",
        "terseLabel": "Award Type",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r484",
      "r485",
      "r486",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512"
     ]
    },
    "ecd_AwardUndrlygSecuritiesAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardUndrlygSecuritiesAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Underlying Securities Amount",
        "terseLabel": "Underlying Securities"
       }
      }
     },
     "auth_ref": [
      "r983"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardsCloseToMnpiDiscIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r982"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardsCloseToMnpiDiscTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table]",
        "terseLabel": "Awards Close in Time to MNPI Disclosures"
       }
      }
     },
     "auth_ref": [
      "r981"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardsCloseToMnpiDiscTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]",
        "terseLabel": "Awards Close in Time to MNPI Disclosures, Table"
       }
      }
     },
     "auth_ref": [
      "r981"
     ]
    },
    "inod_AwardsGrantedOnOrAfterApril112022Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "AwardsGrantedOnOrAfterApril112022Member",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to awards granted on or after April 11, 2022.",
        "label": "Awards Granted On or After April 11, 2022 [Member]",
        "terseLabel": "Awards granted on or after April 11, 2022"
       }
      }
     },
     "auth_ref": []
    },
    "inod_AwardsGrantedPriorToApril112022Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "AwardsGrantedPriorToApril112022Member",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to awards granted prior to April 11, 2022.",
        "label": "Awards Granted Prior to April 11, 2022 [Member]",
        "terseLabel": "Awards granted prior to April 11, 2022"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BalanceSheetLocationAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails",
      "http://www.innodata-isogen.com/role/DisclosureRedemptionOfNonControllingInterestDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Balance Sheet Location [Axis]",
        "documentation": "Information by location in statement of financial position where disaggregated cumulative balance has been reported."
       }
      }
     },
     "auth_ref": [
      "r377",
      "r1180",
      "r1181"
     ]
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BalanceSheetLocationDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails",
      "http://www.innodata-isogen.com/role/DisclosureRedemptionOfNonControllingInterestDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Balance Sheet Location [Domain]",
        "documentation": "Location in statement of financial position where disaggregated cumulative balance has been reported."
       }
      }
     },
     "auth_ref": [
      "r77",
      "r80",
      "r377",
      "r1180",
      "r1181"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Prepaid Expense and Other Assets",
        "terseLabel": "Prepaid expenses and other current assets on contract acquisition costs",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer, acquired at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r66"
     ]
    },
    "us-gaap_BusinessCombinationsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationsPolicy",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combinations Policy [Policy Text Block]",
        "terseLabel": "Description of Business",
        "documentation": "Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy."
       }
      }
     },
     "auth_ref": [
      "r152",
      "r153",
      "r154",
      "r155"
     ]
    },
    "country_CA": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "CA",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CANADA",
        "terseLabel": "Canada"
       }
      }
     },
     "auth_ref": []
    },
    "inod_CanadianSubsidiariesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "CanadianSubsidiariesMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information of Canadian subsidiaries.",
        "label": "Canadian Subsidiaries [Member]",
        "terseLabel": "Canadian subsidiaries"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CapitalizedContractCostAmortizationPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CapitalizedContractCostAmortizationPeriod",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Capitalized Contract Cost, Amortization Period",
        "terseLabel": "Amortization period",
        "documentation": "Amortization period of cost capitalized in obtaining or fulfilling contract with customer, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r1018"
     ]
    },
    "inod_CapitalizedSoftwareDevelopmentCostMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "CapitalizedSoftwareDevelopmentCostMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Collection of computer programs and related data that provide instructions to a computer cost.",
        "label": "Capitalized Software Development Cost [Member]",
        "terseLabel": "Capitalized Developed Software"
       }
      }
     },
     "auth_ref": []
    },
    "inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "CapitalizedSoftwareDevelopmentCostWorkInProgressMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program,",
        "label": "Capitalized Software Development Cost - Work in Progress [Member]",
        "terseLabel": "Capitalized Developed Software - in Progress"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents, at Carrying Value, Total",
        "verboseLabel": "Cash and cash equivalents",
        "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",
      "r222",
      "r835"
     ]
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents, Policy [Policy Text Block]",
        "terseLabel": "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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents",
        "periodEndLabel": "Cash and cash equivalents, end of year",
        "periodStartLabel": "Cash and cash equivalents, beginning of year",
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r28",
      "r124",
      "r259"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "totalLabel": "Net increase in cash and cash equivalents",
        "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",
      "r124"
     ]
    },
    "ecd_ChangedPeerGroupFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ChangedPeerGroupFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changed Peer Group, Footnote [Text Block]",
        "terseLabel": "Changed Peer Group, Footnote"
       }
      }
     },
     "auth_ref": [
      "r959"
     ]
    },
    "ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year [Member]",
        "terseLabel": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year"
       }
      }
     },
     "auth_ref": [
      "r956"
     ]
    },
    "ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested [Member]",
        "terseLabel": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested"
       }
      }
     },
     "auth_ref": [
      "r954"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CityAreaCode",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ClassOfStockLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ClassOfStockLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Stock [Line Items]",
        "terseLabel": "Capital Stock",
        "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": [
      "r227",
      "r228",
      "r229",
      "r299",
      "r410",
      "r411",
      "r412",
      "r414",
      "r417",
      "r422",
      "r424",
      "r729",
      "r730",
      "r731",
      "r732",
      "r856",
      "r1011",
      "r1042"
     ]
    },
    "inod_ClientMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "ClientMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents the member of client.",
        "label": "Client [Member]",
        "terseLabel": "Customer"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_CoSelectedMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CoSelectedMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Amount",
        "terseLabel": "Company Selected Measure Amount"
       }
      }
     },
     "auth_ref": [
      "r960"
     ]
    },
    "ecd_CoSelectedMeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CoSelectedMeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Name",
        "terseLabel": "Company Selected Measure Name"
       }
      }
     },
     "auth_ref": [
      "r960"
     ]
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies.",
        "verboseLabel": "Commitments and contingencies",
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur."
       }
      }
     },
     "auth_ref": [
      "r98",
      "r166",
      "r683",
      "r751"
     ]
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "terseLabel": "Commitments and Contingencies",
        "documentation": "The entire disclosure for commitments and contingencies."
       }
      }
     },
     "auth_ref": [
      "r137",
      "r380",
      "r381",
      "r817",
      "r1093",
      "r1095"
     ]
    },
    "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockCapitalSharesReservedForFutureIssuance",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails",
      "http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Capital Shares Reserved for Future Issuance",
        "verboseLabel": "Common stock reserved available for future issuance",
        "documentation": "Aggregate number of common shares reserved for future issuance."
       }
      }
     },
     "auth_ref": [
      "r103"
     ]
    },
    "us-gaap_CommonStockDividendsPerShareDeclared": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockDividendsPerShareDeclared",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Dividends, Per Share, Declared",
        "terseLabel": "Dividends declared (in dollars per share)",
        "documentation": "Aggregate dividends declared during the period for each share of common stock outstanding."
       }
      }
     },
     "auth_ref": [
      "r145"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock [Member]",
        "terseLabel": "Common Stock",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r888",
      "r889",
      "r890",
      "r892",
      "r893",
      "r894",
      "r895",
      "r1047",
      "r1048",
      "r1050",
      "r1150",
      "r1210",
      "r1213"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock Par Or Stated Value Per Share",
        "verboseLabel": "Common stock, par value (in dollars per share)",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r103"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Shares Authorized",
        "terseLabel": "Common stock, shares authorized",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r103",
      "r752"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock Shares Issued",
        "terseLabel": "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": [
      "r103"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Shares, Outstanding",
        "verboseLabel": "Common stock, shares outstanding",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r103",
      "r752",
      "r770",
      "r1213",
      "r1214"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock Value",
        "terseLabel": "Common stock, $.01 par value; 75,000,000 shares authorized; 34,484,000 shares issued and 31,300,000 outstanding at December 31, 2024 and 31,937,000 shares issued and 28,753,000 outstanding at December 31, 2023",
        "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": [
      "r103",
      "r685",
      "r874"
     ]
    },
    "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Company Selected Measure"
       }
      }
     },
     "auth_ref": [
      "r965"
     ]
    },
    "ecd_CompActuallyPaidVsNetIncomeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsNetIncomeTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Net Income [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Net Income"
       }
      }
     },
     "auth_ref": [
      "r964"
     ]
    },
    "ecd_CompActuallyPaidVsOtherMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsOtherMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Other Measure [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Other Measure"
       }
      }
     },
     "auth_ref": [
      "r966"
     ]
    },
    "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return"
       }
      }
     },
     "auth_ref": [
      "r963"
     ]
    },
    "us-gaap_CompensationAndRetirementDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CompensationAndRetirementDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Benefits"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComponentsOfDeferredTaxLiabilitiesAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Components of Deferred Tax Liabilities [Abstract]",
        "verboseLabel": "Deferred income tax liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomeNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive Income (Loss), Net Of Tax, Attributable To Parent",
        "totalLabel": "Comprehensive income (loss) attributable to Innodata Inc. and Subsidiaries",
        "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": [
      "r27",
      "r239",
      "r241",
      "r249",
      "r673",
      "r697",
      "r699"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomeNetOfTaxAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive loss",
        "terseLabel": "Comprehensive income (loss):"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive (Income) Loss, Net of Tax, Attributable to Noncontrolling Interest, Total",
        "verboseLabel": "Comprehensive income attributed to non-controlling 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": [
      "r7",
      "r70",
      "r73",
      "r239",
      "r241",
      "r248",
      "r672",
      "r697",
      "r698"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest, Total",
        "totalLabel": "Total comprehensive income (loss)",
        "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": [
      "r73",
      "r158",
      "r239",
      "r241",
      "r247",
      "r671",
      "r697"
     ]
    },
    "us-gaap_ComprehensiveIncomeNoteTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomeNoteTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive Income (Loss) Note [Text Block]",
        "terseLabel": "Comprehensive loss",
        "documentation": "The entire disclosure for comprehensive income, which includes, but is not limited to, 1) the amount of income tax expense or benefit allocated to each component of other comprehensive income, including reclassification adjustments, 2) the reclassification adjustments for each classification of other comprehensive income and 3) the ending accumulated balances for each component of comprehensive income."
       }
      }
     },
     "auth_ref": [
      "r111",
      "r246",
      "r670",
      "r696"
     ]
    },
    "us-gaap_ComputerSoftwareIntangibleAssetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComputerSoftwareIntangibleAssetMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Computer Software, Intangible Asset [Member]",
        "terseLabel": "Capitalized Developed Software",
        "verboseLabel": "Computer software",
        "documentation": "Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program, control module or operating system, that perform one or more particular functions or tasks."
       }
      }
     },
     "auth_ref": [
      "r831",
      "r834",
      "r1078",
      "r1079",
      "r1080",
      "r1081",
      "r1083",
      "r1085",
      "r1088",
      "r1089"
     ]
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Domain]",
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r33",
      "r34",
      "r87",
      "r88",
      "r333",
      "r816"
     ]
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Axis]",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r33",
      "r34",
      "r87",
      "r88",
      "r333",
      "r723",
      "r816"
     ]
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskByTypeAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "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": [
      "r33",
      "r34",
      "r87",
      "r88",
      "r333",
      "r816",
      "r1017"
     ]
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskCreditRisk",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]",
        "terseLabel": "Concentration of Credit Risk",
        "documentation": "Disclosure of accounting policy for credit risk."
       }
      }
     },
     "auth_ref": [
      "r89",
      "r182"
     ]
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskPercentage1",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk, Percentage",
        "terseLabel": "Concentration risk, percentage",
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division."
       }
      }
     },
     "auth_ref": [
      "r33",
      "r34",
      "r87",
      "r88",
      "r333"
     ]
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskTypeDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Domain]",
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration."
       }
      }
     },
     "auth_ref": [
      "r33",
      "r34",
      "r87",
      "r88",
      "r333",
      "r816"
     ]
    },
    "srt_ConsolidatedEntitiesAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ConsolidatedEntitiesAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidated Entities [Axis]",
        "documentation": "Information by consolidated entity or group of entities."
       }
      }
     },
     "auth_ref": [
      "r194",
      "r208",
      "r266",
      "r572",
      "r573",
      "r577",
      "r578",
      "r630",
      "r822",
      "r1025",
      "r1026",
      "r1027",
      "r1099",
      "r1102",
      "r1103"
     ]
    },
    "srt_ConsolidatedEntitiesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ConsolidatedEntitiesDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidated Entities [Domain]",
        "documentation": "Entity or group of entities consolidated into reporting entity."
       }
      }
     },
     "auth_ref": [
      "r194",
      "r208",
      "r266",
      "r572",
      "r573",
      "r577",
      "r578",
      "r630",
      "r822",
      "r1025",
      "r1026",
      "r1027",
      "r1099",
      "r1102",
      "r1103"
     ]
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConsolidationPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation, Policy [Policy Text Block]",
        "terseLabel": "Principles of Consolidation",
        "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary."
       }
      }
     },
     "auth_ref": [
      "r71",
      "r839"
     ]
    },
    "us-gaap_ConstructionInProgressMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConstructionInProgressMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Construction in Progress [Member]",
        "terseLabel": "Capital work-in-progress",
        "documentation": "Structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerLiabilityCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDeferredRevenueDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Liability, Current",
        "periodEndLabel": "Balance at the end of period",
        "periodStartLabel": "Balance at the beginning of period",
        "terseLabel": "Deferred revenues",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r426",
      "r427",
      "r438"
     ]
    },
    "us-gaap_CostsAndExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CostsAndExpenses",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Costs and Expenses",
        "totalLabel": "Total",
        "documentation": "Total costs of sales and operating expenses for the period."
       }
      }
     },
     "auth_ref": [
      "r121"
     ]
    },
    "us-gaap_CostsAndExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CostsAndExpensesAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Costs and Expenses [Abstract]",
        "verboseLabel": "Operating costs and expenses:"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Document and Entity Information",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CreditFacilityAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Facility [Axis]",
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing."
       }
      }
     },
     "auth_ref": [
      "r388",
      "r1097"
     ]
    },
    "us-gaap_CreditFacilityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CreditFacilityDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Facility [Domain]",
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing."
       }
      }
     },
     "auth_ref": [
      "r388",
      "r1097",
      "r1098"
     ]
    },
    "us-gaap_CurrentFederalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CurrentFederalTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Federal Tax Expense (Benefit)",
        "verboseLabel": "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": [
      "r1020",
      "r1045",
      "r1147"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Foreign Tax Expense (Benefit)",
        "verboseLabel": "Foreign",
        "documentation": "Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r1020",
      "r1045"
     ]
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Income Tax Expense (Benefit)",
        "totalLabel": "Current income tax expense (benefit)",
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r555",
      "r1045"
     ]
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "terseLabel": "Current income tax provision:"
       }
      }
     },
     "auth_ref": []
    },
    "inod_CurrentPortionOfLongTermObligations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "CurrentPortionOfLongTermObligations",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The current portion of long-term obligations of the entity.",
        "label": "Current Portion Of Long-Term Obligations",
        "terseLabel": "Less: Current portion of long-term obligations",
        "verboseLabel": "Long-term obligations - current portion"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CurrentStateAndLocalTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current State and Local Tax Expense (Benefit)",
        "verboseLabel": "State and local",
        "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": [
      "r1020",
      "r1045",
      "r1147"
     ]
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CustomerConcentrationRiskMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer Concentration Risk [Member]",
        "terseLabel": "Customer concentration risk",
        "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer."
       }
      }
     },
     "auth_ref": [
      "r131",
      "r333"
     ]
    },
    "us-gaap_CustomerRelationshipsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CustomerRelationshipsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer Relationships [Member]",
        "verboseLabel": "Customer relationships",
        "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships."
       }
      }
     },
     "auth_ref": [
      "r68",
      "r1078",
      "r1079",
      "r1080",
      "r1081",
      "r1083",
      "r1085",
      "r1088",
      "r1089"
     ]
    },
    "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": [
      "r911",
      "r1000"
     ]
    },
    "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": [
      "r911",
      "r1000"
     ]
    },
    "cyd_CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Management Expertise of Management Responsible [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r913",
      "r1002"
     ]
    },
    "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": [
      "r913",
      "r1002"
     ]
    },
    "cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Management Positions or Committees Responsible Report to Board [Flag]"
       }
      }
     },
     "auth_ref": [
      "r915",
      "r1004"
     ]
    },
    "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": [
      "r913",
      "r1002"
     ]
    },
    "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": [
      "r906",
      "r995"
     ]
    },
    "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": [
      "r907",
      "r996"
     ]
    },
    "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": [
      "r907",
      "r996"
     ]
    },
    "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": [
      "r905",
      "r994"
     ]
    },
    "cyd_CybersecurityRiskManagementStrategyAndGovernanceLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementStrategyAndGovernanceLineItems",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Management, Strategy, and Governance [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r905",
      "r994"
     ]
    },
    "cyd_CybersecurityRiskManagementStrategyAndGovernanceTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementStrategyAndGovernanceTable",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Management, Strategy, and Governance [Table]"
       }
      }
     },
     "auth_ref": [
      "r905",
      "r994"
     ]
    },
    "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": [
      "r908",
      "r997"
     ]
    },
    "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": [
      "r910",
      "r999"
     ]
    },
    "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": [
      "r910",
      "r999"
     ]
    },
    "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": [
      "r911",
      "r1000"
     ]
    },
    "cyd_CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Process for Informing Management or Committees Responsible [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r914",
      "r1003"
     ]
    },
    "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": [
      "r912",
      "r1001"
     ]
    },
    "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": [
      "r909",
      "r998"
     ]
    },
    "country_DE": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "DE",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "GERMANY",
        "terseLabel": "Germany"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DatabasesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DatabasesMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Database Rights [Member]",
        "terseLabel": "Media Contact Database",
        "documentation": "Exclusive legal rights granted to the owner or licensee of collections of information stored in electronic form (such as on computer disks or files)."
       }
      }
     },
     "auth_ref": [
      "r69",
      "r1078",
      "r1079",
      "r1080",
      "r1081",
      "r1083",
      "r1085",
      "r1088",
      "r1089"
     ]
    },
    "inod_DdsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "DdsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents information pertaining to Digital Data Solutions (DDS) segment.",
        "label": "DDS [Member]",
        "terseLabel": "DDS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCredit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Text Block]",
        "terseLabel": "Line of Credit",
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants."
       }
      }
     },
     "auth_ref": [
      "r138",
      "r260",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r387",
      "r388",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r612"
     ]
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Basis Spread on Variable Rate",
        "terseLabel": "Interest rate",
        "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentVariableInterestRateTypeExtensibleEnumeration",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Variable Interest Rate, Type [Extensible Enumeration]",
        "documentation": "Indicates type of variable interest rate on debt instrument."
       }
      }
     },
     "auth_ref": [
      "r677"
     ]
    },
    "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredFederalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Federal Income Tax Expense (Benefit)",
        "verboseLabel": "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": [
      "r1045",
      "r1146",
      "r1147"
     ]
    },
    "us-gaap_DeferredForeignIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredForeignIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Foreign Income Tax Expense (Benefit)",
        "verboseLabel": "Foreign",
        "documentation": "Amount of deferred foreign income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r1045",
      "r1146"
     ]
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxAssetsNet",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Assets, Net",
        "terseLabel": "Deferred income taxes, net",
        "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": [
      "r528",
      "r529"
     ]
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Expense (Benefit)",
        "totalLabel": "Deferred income tax expense (benefit)",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r191",
      "r1045"
     ]
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "verboseLabel": "Deferred income tax provision:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredIncomeTaxLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Gross",
        "negatedLabel": "Total deferred income tax liability",
        "negatedTotalLabel": "Total deferred income tax liabilities",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences."
       }
      }
     },
     "auth_ref": [
      "r99",
      "r100",
      "r164",
      "r547"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Liabilities, Net",
        "verboseLabel": "Deferred income taxes, net",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r528",
      "r529",
      "r681"
     ]
    },
    "us-gaap_DeferredIncomeTaxesAndTaxCredits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxesAndTaxCredits",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Taxes and Tax Credits",
        "terseLabel": "Deferred income taxes",
        "documentation": "Amount of deferred income tax expense (benefit) and income tax credits."
       }
      }
     },
     "auth_ref": [
      "r127"
     ]
    },
    "us-gaap_DeferredRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredRevenue",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Revenue",
        "terseLabel": "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."
       }
      }
     },
     "auth_ref": [
      "r1030"
     ]
    },
    "us-gaap_DeferredRevenueByArrangementDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredRevenueByArrangementDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Revenue, by Arrangement, Disclosure [Table Text Block]",
        "terseLabel": "Schedule of information about contract liabilities (deferred revenue)",
        "documentation": "Tabular disclosure of the type of arrangements and the corresponding amounts that comprise the current and noncurrent balance of deferred revenue as of the balance sheet date."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredRevenuePeriodIncreaseDecrease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredRevenuePeriodIncreaseDecrease",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDeferredRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Revenue, Period Increase (Decrease)",
        "terseLabel": "Net deferred revenue in the period",
        "documentation": "Amount of increase (decrease) in deferred revenue."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredRevenueRevenueRecognized1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredRevenueRevenueRecognized1",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDeferredRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Revenue, Revenue Recognized",
        "negatedLabel": "Revenue recognized",
        "documentation": "Amount of revenue recognized that was previously reported as deferred or unearned revenue."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred State and Local Income Tax Expense (Benefit)",
        "verboseLabel": "State and local",
        "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": [
      "r1045",
      "r1146",
      "r1147"
     ]
    },
    "inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "DeferredTaxAssetsExpensesNotDeductibleUntilPaid",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expenses not deductible until paid under deferred tax assets.",
        "label": "Deferred Tax Assets Expenses Not Deductible Until Paid",
        "verboseLabel": "Expenses not deductible until paid"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsGross",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Gross",
        "totalLabel": "Total gross deferred income tax assets before valuation allowance",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r548"
     ]
    },
    "us-gaap_DeferredTaxAssetsGrossAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsGrossAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Gross [Abstract]",
        "verboseLabel": "Deferred income tax assets:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsLiabilitiesNet",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Net",
        "terseLabel": "Net deferred income tax assets",
        "totalLabel": "Net deferred income tax assets",
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r1140"
     ]
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsNet",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Net of Valuation Allowance",
        "totalLabel": "Total Deferred income tax assets, net",
        "verboseLabel": "Total deferred income tax assets",
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r1140"
     ]
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsOperatingLossCarryforwards",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Operating Loss Carryforwards",
        "verboseLabel": "Net operating loss carryforwards",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards."
       }
      }
     },
     "auth_ref": [
      "r1144"
     ]
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Operating Loss Carryforwards, Not Subject to Expiration",
        "terseLabel": "Research and development credits not subject to expiration",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards that are not subject to expiration dates."
       }
      }
     },
     "auth_ref": [
      "r1144"
     ]
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Operating Loss Carryforwards, Subject to Expiration",
        "terseLabel": "NOL carryforwards subject to expiration",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards that are subject to expiration dates."
       }
      }
     },
     "auth_ref": [
      "r1144"
     ]
    },
    "us-gaap_DeferredTaxAssetsOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsOther",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Other",
        "verboseLabel": "Other",
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other."
       }
      }
     },
     "auth_ref": [
      "r1144"
     ]
    },
    "us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsPropertyPlantAndEquipment",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Property, Plant and Equipment",
        "verboseLabel": "Depreciation and amortization",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from property, plant, and equipment."
       }
      }
     },
     "auth_ref": [
      "r1144"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsTaxCreditCarryforwardsResearch",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Tax Credit Carryforwards, Research",
        "terseLabel": "Research and development credits",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible research tax credit carryforwards."
       }
      }
     },
     "auth_ref": [
      "r1144"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits",
        "verboseLabel": "Equity compensation not currently deductible",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from compensation and benefits costs."
       }
      }
     },
     "auth_ref": [
      "r1144"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals",
        "verboseLabel": "Allowances not currently deductible",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from reserves and accruals."
       }
      }
     },
     "auth_ref": [
      "r1144"
     ]
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsValuationAllowance",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Valuation Allowance",
        "negatedLabel": "Valuation allowance",
        "terseLabel": "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": [
      "r549"
     ]
    },
    "inod_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsAmortizationOfIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsAmortizationOfIntangibleAssets",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from amortization of intangible assets including goodwill.",
        "label": "Deferred Tax Liabilities, Goodwill and Intangible Assets, Amortization of Intangible Assets",
        "negatedLabel": "Amortization of Intangibles"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxLiabilitiesOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxLiabilitiesOther",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Other",
        "negatedLabel": "Other",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences classified as other."
       }
      }
     },
     "auth_ref": [
      "r1144"
     ]
    },
    "us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DefinedBenefitPlanAccumulatedBenefitObligation",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Accumulated Benefit Obligation",
        "terseLabel": "Accumulated benefit obligation",
        "documentation": "Amount of actuarial present value of benefits attributed to employee service rendered, excluding assumptions about future compensation level."
       }
      }
     },
     "auth_ref": [
      "r453"
     ]
    },
    "us-gaap_DefinedBenefitPlanActuarialGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DefinedBenefitPlanActuarialGainLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsBenefitObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Benefit Obligation, Actuarial Gain (Loss)",
        "negatedLabel": "Actuarial loss (gain)",
        "documentation": "Amount of gain (loss) from change in actuarial assumptions which (increases) decreases benefit obligation of defined benefit plan. Assumptions include, but are not limited to, interest, mortality, employee turnover, salary, and temporary deviation from substantive plan."
       }
      }
     },
     "auth_ref": [
      "r446"
     ]
    },
    "us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Actuarial Gain (Loss), Immediate Recognition as Component in Net Periodic Benefit (Cost) Credit",
        "negatedLabel": "Actuarial loss recognized",
        "documentation": "Amount of gain (loss), recognized immediately as component of net periodic benefit (cost) credit, for change in value of benefit obligation or plan assets from experience different from that assumed, change in actuarial assumption, or consequence of temporarily deviating from substantive plan. Includes, but is not limited to, amount in excess of 10 percent of greater of fair value of plan assets or benefit obligation."
       }
      }
     },
     "auth_ref": [
      "r442",
      "r458",
      "r472"
     ]
    },
    "us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Assumptions Used Calculating Benefit Obligation, Discount Rate",
        "verboseLabel": "Discount rate",
        "documentation": "Weighted average rate for present value of future retirement benefits cash flows, used to determine benefit obligation of defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r460"
     ]
    },
    "us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Assumptions Used Calculating Benefit Obligation, Rate of Compensation Increase",
        "verboseLabel": "Rate of increase in compensation level",
        "documentation": "Weighted average rate increase of compensation, used to determine benefit obligation of defined benefit plan. Plan includes, but is not limited to, pay-related defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r461"
     ]
    },
    "us-gaap_DefinedBenefitPlanBenefitObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DefinedBenefitPlanBenefitObligation",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsBenefitObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Benefit Obligation",
        "periodEndLabel": "Projected benefit obligation at end of the year",
        "periodStartLabel": "Projected benefit obligation at beginning of the year",
        "documentation": "Amount of actuarial present value of benefits attributed to service rendered by employee for defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r443"
     ]
    },
    "us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DefinedBenefitPlanBenefitObligationBenefitsPaid",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsBenefitObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Benefit Obligation, Benefits Paid",
        "negatedLabel": "Benefits paid",
        "documentation": "Amount of payment to participant of defined benefit plan which decreases benefit obligation. For pension plan, payment includes, but is not limited to, pension benefits and death benefits. For other postretirement plan, payment includes, but is not limited to, prescription drug benefits, health care benefits, life insurance benefits, and legal, educational and advisory services."
       }
      }
     },
     "auth_ref": [
      "r447",
      "r475"
     ]
    },
    "us-gaap_DefinedBenefitPlanDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DefinedBenefitPlanDisclosureLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails",
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan Disclosure [Line Items]",
        "terseLabel": "Pension Benefits",
        "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": []
    },
    "inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearTen": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearTen",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of benefit for defined benefit plan expected to be paid in sixth fiscal year to tenth fiscal year following current fiscal year.",
        "label": "Defined Benefit Plan, Expected Future Benefit Payment, Year Six to Year Ten",
        "terseLabel": "2030 to 2034"
       }
      }
     },
     "auth_ref": []
    },
    "inod_DefinedBenefitPlanExpectedFutureBenefitPayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "DefinedBenefitPlanExpectedFutureBenefitPayments",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of estimated future benefit payments for defined benefit plan.",
        "label": "Defined Benefit Plan Expected Future Benefit Payments",
        "totalLabel": "Total"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Expected Future Benefit Payment, Next Twelve Months",
        "verboseLabel": "2025",
        "documentation": "Amount of benefit for defined benefit plan expected to be paid in next fiscal year following current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r454"
     ]
    },
    "us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Expected Future Benefit Payment, Year Five",
        "verboseLabel": "2029",
        "documentation": "Amount of benefit for defined benefit plan expected to be paid in fifth fiscal year following current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r454"
     ]
    },
    "us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Expected Future Benefit Payment, Year Four",
        "verboseLabel": "2028",
        "documentation": "Amount of benefit for defined benefit plan expected to be paid in fourth fiscal year following current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r454"
     ]
    },
    "us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Expected Future Benefit Payment, Year Three",
        "verboseLabel": "2027",
        "documentation": "Amount of benefit for defined benefit plan expected to be paid in third fiscal year following current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r454"
     ]
    },
    "us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Expected Future Benefit Payment, Year Two",
        "verboseLabel": "2026",
        "documentation": "Amount of benefit for defined benefit plan expected to be paid in second fiscal year following current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r454"
     ]
    },
    "us-gaap_DefinedBenefitPlanInterestCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DefinedBenefitPlanInterestCost",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsBenefitObligationsDetails",
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Interest Cost",
        "verboseLabel": "Interest cost",
        "documentation": "Amount of cost recognized for passage of time related to defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r442",
      "r445",
      "r457",
      "r471",
      "r859",
      "r860"
     ]
    },
    "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DefinedBenefitPlanNetPeriodicBenefitCost",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Net Periodic Benefit Cost (Credit)",
        "totalLabel": "Net periodic pension cost",
        "documentation": "Amount of net periodic benefit cost (credit) for defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r455",
      "r469",
      "r859",
      "r860"
     ]
    },
    "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Net Periodic Benefit (Cost) Credit, Immediate Recognition of Actuarial Gain (Loss), Statement of Income or Comprehensive Income [Extensible Enumeration]",
        "documentation": "Indicates line item in statement of income or comprehensive income that includes actuarial gain (loss) recognized immediately as component of net periodic benefit (cost) credit for defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r455",
      "r469"
     ]
    },
    "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsBenefitObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Net Periodic Benefit Cost (Credit), Interest Cost, Statement of Income or Comprehensive Income [Extensible Enumeration]",
        "terseLabel": "Defined Benefit Plan, Net Periodic Benefit Cost (Credit), Interest Cost, Statement of Income or Comprehensive Income [Extensible Enumeration]",
        "documentation": "Indicates line item in statement of income or comprehensive income that includes interest cost component of net periodic benefit cost (credit) for defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r455",
      "r469"
     ]
    },
    "us-gaap_DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsBenefitObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Plan Assets, Foreign Currency Translation Gain (Loss)",
        "verboseLabel": "Foreign currency exchange rates changes",
        "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) plan assets of defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r448"
     ]
    },
    "us-gaap_DefinedBenefitPlanServiceCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DefinedBenefitPlanServiceCost",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsBenefitObligationsDetails",
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Service Cost",
        "verboseLabel": "Service cost",
        "documentation": "Amount of cost for actuarial present value of benefits attributed to service rendered by employee for defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r444",
      "r456",
      "r470",
      "r859",
      "r860"
     ]
    },
    "inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The period of service by substantially all of its U.S. employees to become eligible for the U.S. Defined Contribution Pension Plan.",
        "label": "Defined Contribution Pension Plan Period Of Service To Become Eligible",
        "terseLabel": "Period of service to become eligible"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DefinedContributionPlanIncreaseDecreaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DefinedContributionPlanIncreaseDecreaseCost",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Contribution Plan, Increase (Decrease), Cost",
        "terseLabel": "Pension cost",
        "documentation": "Amount of increase (decrease) in cost for defined contribution plan."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DepreciationDepletionAndAmortization",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation, Depletion and Amortization",
        "terseLabel": "Depreciation and amortization",
        "verboseLabel": "Depreciation expense",
        "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r297",
      "r309",
      "r326",
      "r848",
      "r849"
     ]
    },
    "us-gaap_DerivativeContractTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DerivativeContractTypeDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Contract [Domain]",
        "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset."
       }
      }
     },
     "auth_ref": [
      "r741",
      "r743",
      "r757",
      "r758",
      "r759",
      "r760",
      "r761",
      "r762",
      "r763",
      "r765",
      "r766",
      "r767",
      "r768",
      "r777",
      "r778",
      "r779",
      "r780",
      "r783",
      "r784",
      "r785",
      "r786",
      "r805",
      "r806",
      "r809",
      "r810",
      "r888",
      "r890",
      "r1152",
      "r1153",
      "r1154",
      "r1155",
      "r1156",
      "r1157",
      "r1158",
      "r1159"
     ]
    },
    "us-gaap_DerivativeInstrumentRiskAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DerivativeInstrumentRiskAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instrument [Axis]",
        "documentation": "Information by type of derivative contract."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r81",
      "r82",
      "r161",
      "r741",
      "r743",
      "r757",
      "r758",
      "r759",
      "r760",
      "r761",
      "r762",
      "r763",
      "r765",
      "r766",
      "r767",
      "r768",
      "r777",
      "r778",
      "r779",
      "r780",
      "r783",
      "r784",
      "r785",
      "r786",
      "r805",
      "r806",
      "r809",
      "r810",
      "r837",
      "r888",
      "r890",
      "r1152",
      "r1153",
      "r1154",
      "r1155",
      "r1156",
      "r1157",
      "r1158",
      "r1159"
     ]
    },
    "us-gaap_DerivativeInstrumentsAndHedgesLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DerivativeInstrumentsAndHedgesLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instruments and Hedges, Liabilities, Total",
        "verboseLabel": "Derivatives designated as hedging instruments",
        "documentation": "Sum as of the balance sheet date of the (a) fair values of all liabilities resulting from contracts that meet the criteria of being accounted for as derivative instruments, and (b) the carrying amounts of the liabilities arising from financial instruments or contracts used to mitigate a specified risk (hedge), and which are expected to be extinguished or otherwise disposed of within a year or the normal operating cycle, if longer, net of the effects of master netting arrangements."
       }
      }
     },
     "auth_ref": [
      "r93"
     ]
    },
    "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivatives"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivatives"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instruments and Hedging Activities Disclosure [Text Block]",
        "terseLabel": "Derivatives",
        "documentation": "The entire disclosure for derivative instruments and hedging activities including, but not limited to, risk management strategies, non-hedging derivative instruments, assets, liabilities, revenue and expenses, and methodologies and assumptions used in determining the amounts."
       }
      }
     },
     "auth_ref": [
      "r160",
      "r582",
      "r590"
     ]
    },
    "us-gaap_DerivativeNotionalAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DerivativeNotionalAmount",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative, Notional Amount",
        "terseLabel": "Derivative notional amount",
        "documentation": "Nominal or face amount used to calculate payment on derivative."
       }
      }
     },
     "auth_ref": [
      "r1148",
      "r1149"
     ]
    },
    "us-gaap_DerivativesFairValueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DerivativesFairValueLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivatives, Fair Value [Line Items]",
        "terseLabel": "Derivatives, Fair Value",
        "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_DerivativesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DerivativesPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivatives, Policy [Policy Text Block]",
        "terseLabel": "Derivative Instruments",
        "documentation": "Disclosure of accounting policy for its derivative instruments and hedging activities."
       }
      }
     },
     "auth_ref": [
      "r18",
      "r74",
      "r75",
      "r76",
      "r83",
      "r265",
      "r280"
     ]
    },
    "inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Description of Business and Summary of Significant Accounting Policies [Line Items]",
        "terseLabel": "Description of Business and Summary of Significant Accounting Estimates and Policies"
       }
      }
     },
     "auth_ref": []
    },
    "inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Description of Business and Summary of Significant Accounting Estimates and Policies [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DesignatedAsHedgingInstrumentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DesignatedAsHedgingInstrumentMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Designated as Hedging Instrument [Member]",
        "terseLabel": "Designated as hedging instrument",
        "documentation": "Derivative instrument designated as hedging instrument under Generally Accepted Accounting Principles (GAAP)."
       }
      }
     },
     "auth_ref": [
      "r18"
     ]
    },
    "us-gaap_DevelopedTechnologyRightsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DevelopedTechnologyRightsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Developed Technology Rights [Member]",
        "terseLabel": "Developed technology",
        "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": [
      "r156",
      "r1078",
      "r1079",
      "r1080",
      "r1081",
      "r1083",
      "r1085",
      "r1088",
      "r1089"
     ]
    },
    "us-gaap_DirectOperatingCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DirectOperatingCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Direct Operating Costs",
        "terseLabel": "Direct operating costs",
        "verboseLabel": "Direct operating costs",
        "documentation": "The aggregate direct operating costs incurred during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r118"
     ]
    },
    "srt_DirectorMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "DirectorMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non Employee Director [Member]",
        "terseLabel": "Non employee director",
        "documentation": "Person serving on board of directors."
       }
      }
     },
     "auth_ref": [
      "r1028",
      "r1058",
      "r1211"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disclosure Of Compensation Related Costs, Share-Based Payments [Text Block]",
        "terseLabel": "Stock Options",
        "documentation": "The entire disclosure for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r478",
      "r483",
      "r513",
      "r514",
      "r516",
      "r862"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Options"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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": [
      "r902",
      "r903",
      "r926"
     ]
    },
    "dei_DocumentFinStmtErrorCorrectionFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFinStmtErrorCorrectionFlag",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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": [
      "r902",
      "r903",
      "r926",
      "r969"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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": [
      "r947"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentType",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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": []
    },
    "us-gaap_DomesticCountryMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DomesticCountryMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Domestic Tax Authority [Member]",
        "terseLabel": "U.S. federal",
        "documentation": "Designated federal jurisdiction entitled to levy and collect income tax in country of domicile. Includes, but is not limited to, national jurisdiction for non-U.S. jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r532"
     ]
    },
    "ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year [Member]",
        "terseLabel": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year"
       }
      }
     },
     "auth_ref": [
      "r958"
     ]
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (loss) per Share",
        "terseLabel": "Income (loss) per share attributable to Innodata Inc. and Subsidiaries:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Basic",
        "verboseLabel": "Basic (in dollars per share)",
        "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": [
      "r250",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277",
      "r282",
      "r284",
      "r289",
      "r290",
      "r291",
      "r296",
      "r567",
      "r570",
      "r593",
      "r594",
      "r674",
      "r700",
      "r841"
     ]
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Diluted",
        "verboseLabel": "Diluted (in dollars per share)",
        "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": [
      "r250",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277",
      "r284",
      "r289",
      "r290",
      "r291",
      "r296",
      "r567",
      "r570",
      "r593",
      "r594",
      "r674",
      "r700",
      "r841"
     ]
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerSharePolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Policy [Policy Text Block]",
        "terseLabel": "Income (Loss) 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": [
      "r31",
      "r32",
      "r293"
     ]
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShare"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Text Block]",
        "terseLabel": "Income (loss) per Share",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r281",
      "r292",
      "r294",
      "r295"
     ]
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effect of Exchange Rate on Cash and Cash Equivalents, Continuing Operations",
        "terseLabel": "Effect of exchange rate changes on cash and cash equivalents",
        "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. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r604"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "totalLabel": "Effective tax rate",
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r532",
      "r865"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Percent [Abstract]",
        "verboseLabel": "Effect of:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent",
        "terseLabel": "Federal income tax expense at statutory rate",
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)."
       }
      }
     },
     "auth_ref": [
      "r264",
      "r532",
      "r558",
      "r865"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent",
        "verboseLabel": "Change in valuation allowance",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r537",
      "r865",
      "r1046",
      "r1136"
     ]
    },
    "inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "EffectiveIncomeTaxRateReconciliationDeemedInterestPercent",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to deemed interest.",
        "label": "Effective Income Tax Rate Reconciliation, Deemed Interest, Percent",
        "terseLabel": "Deemed interest"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent",
        "terseLabel": "Foreign rate differential",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile."
       }
      }
     },
     "auth_ref": [
      "r533",
      "r536",
      "r865",
      "r1046",
      "r1136"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationGiltiPercent",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, GILTI, Percent",
        "terseLabel": "Global Intangible Low-Taxed Income (GILTI)",
        "documentation": "Percentage of reported income tax expense from difference to expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operations, attributable to global intangible low-taxed income (GILTI)."
       }
      }
     },
     "auth_ref": [
      "r865",
      "r1136",
      "r1138"
     ]
    },
    "inod_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInUnrecognizedTaxBenefits": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInUnrecognizedTaxBenefits",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "These lines are represents tax rate of income unrecognized tax benefits.",
        "label": "Effective Income Tax Rate Reconciliation Increase (Decrease) In Unrecognized Tax Benefits",
        "terseLabel": "Increase (decrease) in unrecognized tax benefits (ASC 740)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Other Reconciling Items, Percent",
        "verboseLabel": "Other",
        "documentation": "Percentage of reported income tax benefit (expense) from difference to income tax expense (benefit) computed by applying statutory federal (national) income tax rate to pretax income (loss) from continuing operation, attributable to other reconciling items. Excludes state and local income tax expense (benefit), federal tax expense (benefit), statutory income tax expense (benefit) outside of country of domicile, tax credit, nondeductible expense, deduction, income tax settlement, income tax contingency, and cross-border tax law."
       }
      }
     },
     "auth_ref": [
      "r1137"
     ]
    },
    "inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of Effective Income Tax Rate Reconciliation, Return to Provision True Up.",
        "label": "Effective Income Tax Rate Reconciliation Return to Provision True Up",
        "terseLabel": "Return to provision true up"
       }
      }
     },
     "auth_ref": []
    },
    "inod_EffectiveIncomeTaxRateReconciliationSection162Percentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "EffectiveIncomeTaxRateReconciliationSection162Percentage",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective income tax rate reconciliation section 162 percentage.",
        "label": "Effective Income Tax Rate Reconciliation Section 162 Percentage",
        "terseLabel": "Section 162 (m)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-based Payment Arrangement, Percent",
        "terseLabel": "Effect of stock-based compensation",
        "documentation": "Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1013",
      "r1136",
      "r1137"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent",
        "terseLabel": "State income tax net of federal benefit",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit)."
       }
      }
     },
     "auth_ref": [
      "r535",
      "r865",
      "r1046",
      "r1136"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Tax Contingency, Foreign, Percent",
        "verboseLabel": "Tax effects of foreign operations",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in foreign income tax contingency."
       }
      }
     },
     "auth_ref": [
      "r1046",
      "r1136"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationTaxCreditsResearch",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Research, Percent",
        "negatedLabel": "Research and development credit",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit."
       }
      }
     },
     "auth_ref": [
      "r865",
      "r1046",
      "r1136",
      "r1138"
     ]
    },
    "inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax benefit of intercompany settlement.",
        "label": "Effective Income Tax Rate Reconciliation, Tax Settlement, Intercompany, Percent",
        "terseLabel": "Tax effect of intercompany settlement"
       }
      }
     },
     "auth_ref": []
    },
    "inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective income tax rate reconciliation withholding tax percentage.",
        "label": "Effective Income Tax Rate Reconciliation Withholding Tax Percentage",
        "terseLabel": "Withholding tax"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Related Liabilities Current",
        "verboseLabel": "Accrued salaries, wages and related benefits",
        "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r93"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Service Share-Based Compensation, Nonvested Awards, Total Compensation Cost Not Yet Recognized",
        "verboseLabel": "Compensation cost related to non-vested stock options and restricted stock awards not yet recognized",
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r515"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition",
        "terseLabel": "Weighted-average period over which compensation cost 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": [
      "r515"
     ]
    },
    "us-gaap_EmployeeStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeStockOptionMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Stock Option [Member]",
        "terseLabel": "Employee Stock Option",
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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": [
      "r900"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r900"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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": [
      "r900"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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": [
      "r1009"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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": [
      "r900"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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": [
      "r900"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r900"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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": [
      "r900"
     ]
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "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": [
      "r1010"
     ]
    },
    "ecd_EqtyAwrdsAdjFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsAdjFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Awards Adjustments, Footnote [Text Block]",
        "terseLabel": "Equity Awards Adjustments, Footnote"
       }
      }
     },
     "auth_ref": [
      "r952"
     ]
    },
    "ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Awards Adjustments, Excluding Value Reported in the Compensation Table [Member]",
        "terseLabel": "Equity Awards Adjustments, Excluding Value Reported in Compensation Table"
       }
      }
     },
     "auth_ref": [
      "r1005"
     ]
    },
    "ecd_EqtyAwrdsAdjsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsAdjsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Awards Adjustments [Member]",
        "terseLabel": "Equity Awards Adjustments"
       }
      }
     },
     "auth_ref": [
      "r1005"
     ]
    },
    "ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsInSummryCompstnTblForAplblYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table [Member]",
        "terseLabel": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table"
       }
      }
     },
     "auth_ref": [
      "r1005"
     ]
    },
    "us-gaap_EquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquipmentMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equipment [Member]",
        "terseLabel": "Equipment",
        "documentation": "Tangible personal property used to produce goods and services."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails",
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Component [Domain]",
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r217",
      "r243",
      "r244",
      "r245",
      "r267",
      "r268",
      "r269",
      "r271",
      "r276",
      "r278",
      "r280",
      "r298",
      "r340",
      "r341",
      "r370",
      "r425",
      "r556",
      "r557",
      "r564",
      "r565",
      "r566",
      "r568",
      "r569",
      "r570",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r592",
      "r605",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r613",
      "r615",
      "r627",
      "r696",
      "r716",
      "r717",
      "r718",
      "r736",
      "r790"
     ]
    },
    "inod_EquityPlansMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "EquityPlansMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Equity plans.",
        "label": "Equity Plans [Member]",
        "terseLabel": "Equity Plans"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_EquityValuationAssumptionDifferenceFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EquityValuationAssumptionDifferenceFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Valuation Assumption Difference, Footnote [Text Block]",
        "terseLabel": "Equity Valuation Assumption Difference, Footnote"
       }
      }
     },
     "auth_ref": [
      "r962"
     ]
    },
    "ecd_ErrCompAnalysisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ErrCompAnalysisTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneous Compensation Analysis [Text Block]",
        "terseLabel": "Erroneous Compensation Analysis"
       }
      }
     },
     "auth_ref": [
      "r919",
      "r930",
      "r940",
      "r973"
     ]
    },
    "ecd_ErrCompRecoveryTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ErrCompRecoveryTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneously Awarded Compensation Recovery [Table]",
        "terseLabel": "Erroneously Awarded Compensation Recovery"
       }
      }
     },
     "auth_ref": [
      "r916",
      "r927",
      "r937",
      "r970"
     ]
    },
    "ecd_ExecutiveCategoryAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ExecutiveCategoryAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Executive Category [Axis]",
        "terseLabel": "Executive Category:"
       }
      }
     },
     "auth_ref": [
      "r968"
     ]
    },
    "us-gaap_FairValueOfFinancialInstrumentsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueOfFinancialInstrumentsPolicy",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value of Financial Instruments, Policy [Policy Text Block]",
        "terseLabel": "Fair Value of Financial Instruments",
        "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]",
        "documentation": "Disclosure of information about location and fair value of derivative instrument and nonderivative instrument designated as hedging instrument."
       }
      }
     },
     "auth_ref": [
      "r77",
      "r79",
      "r84"
     ]
    },
    "us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Allowance for Loan and Lease Losses, Foreign Currency Translation",
        "terseLabel": "Foreign currency translation adjustment",
        "documentation": "Amount of foreign currency translation gain (loss) which decreases (increases) allowance for credit loss on financing receivable. Excludes net investment in lease."
       }
      }
     },
     "auth_ref": [
      "r1064"
     ]
    },
    "inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "FiniteLivedIntangibleAssetExpectedAmortizationThereafter",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized thereafter excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Thereafter",
        "verboseLabel": "Thereafter"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Useful Life",
        "terseLabel": "Estimated useful life of intangibles",
        "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "negatedLabel": "Accumulated Amortization",
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r224",
      "r345",
      "r364",
      "r855"
     ]
    },
    "inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated amount of foreign currency translation adjustments on assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Accumulated Foreign Currency Translation Adjustment",
        "terseLabel": "Foreign Currency Translation Adjustment"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One",
        "verboseLabel": "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": [
      "r366",
      "r831",
      "r855"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Five",
        "verboseLabel": "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": [
      "r366",
      "r831",
      "r855"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Four",
        "verboseLabel": "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": [
      "r366",
      "r831",
      "r855"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Three",
        "verboseLabel": "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": [
      "r366",
      "r831",
      "r855"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Two",
        "verboseLabel": "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": [
      "r366",
      "r831",
      "r855"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "documentation": "Information by major type or class of finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r358",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r367",
      "r368",
      "r636",
      "r637",
      "r831"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsGross",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Gross",
        "terseLabel": "Gross Carrying Value",
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r345",
      "r364",
      "r637",
      "r855"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets [Line Items]",
        "terseLabel": "Goodwill and Intangible Assets",
        "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": [
      "r358",
      "r364",
      "r367",
      "r368",
      "r369",
      "r636",
      "r831",
      "r855"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]",
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company."
       }
      }
     },
     "auth_ref": [
      "r358",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r367",
      "r368",
      "r831"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsNet",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Net",
        "totalLabel": "Net Carrying Value",
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r636",
      "r1085"
     ]
    },
    "inod_ForeignCountriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "ForeignCountriesMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents information pertaining to foreign countries.",
        "label": "Foreign Countries [Member]",
        "verboseLabel": "Total foreign"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignCountryMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ForeignCountryMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Tax Jurisdiction [Member]",
        "terseLabel": "Foreign tax jurisdiction",
        "documentation": "Designated foreign jurisdiction entitled to levy and collect income tax outside country of domicile."
       }
      }
     },
     "auth_ref": [
      "r532",
      "r533"
     ]
    },
    "us-gaap_ForeignCurrencyContractAssetFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ForeignCurrencyContractAssetFairValueDisclosure",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Currency Contract, Asset, Fair Value Disclosure",
        "terseLabel": "Outstanding foreign currency forward contracts",
        "documentation": "Fair value portion of asset contracts related to the exchange of different currencies, including, but not limited to, foreign currency options, forward contracts, and swaps."
       }
      }
     },
     "auth_ref": [
      "r595",
      "r596"
     ]
    },
    "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ForeignCurrencyTransactionGainLossBeforeTax",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Currency Transaction Gain (Loss), before Tax",
        "negatedLabel": "Foreign exchange (gains) losses",
        "documentation": "Amount, before tax, of realized and unrealized gain (loss) from foreign currency transaction."
       }
      }
     },
     "auth_ref": [
      "r600",
      "r601",
      "r602",
      "r603",
      "r787"
     ]
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]",
        "terseLabel": "Foreign Currency Translation",
        "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": [
      "r599"
     ]
    },
    "inod_ForeignCustomerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "ForeignCustomerMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents information pertaining to foreign customer.",
        "label": "Foreign Customer [Member]",
        "terseLabel": "Foreign customer"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignExchangeForwardMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ForeignExchangeForwardMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Exchange Forward [Member]",
        "verboseLabel": "Foreign currency forward contracts",
        "documentation": "Foreign exchange forward traded on an exchange (examples include but are not limited to the International Securities Exchange, Philadelphia Stock Exchange, or the Chicago Mercantile Exchange) for options or future contracts to buy or sell a certain currency, at a specified date, at a fixed exercise exchange rate."
       }
      }
     },
     "auth_ref": [
      "r758",
      "r762",
      "r767",
      "r779",
      "r785",
      "r807",
      "r808",
      "r809",
      "r890"
     ]
    },
    "inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of  foreign exchange gains and losses.",
        "label": "Foreign operations permanent difference - foreign exchange gains and losses",
        "terseLabel": "Foreign operations permanent differences - foreign exchange gains and losses"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount",
        "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount"
       }
      }
     },
     "auth_ref": [
      "r923",
      "r934",
      "r944",
      "r977"
     ]
    },
    "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Expense of Enforcement, Amount",
        "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount"
       }
      }
     },
     "auth_ref": [
      "r923",
      "r934",
      "r944",
      "r977"
     ]
    },
    "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Violation of Home Country Law, Amount",
        "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount"
       }
      }
     },
     "auth_ref": [
      "r923",
      "r934",
      "r944",
      "r977"
     ]
    },
    "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Explanation of Impracticability [Text Block]",
        "terseLabel": "Forgone Recovery, Explanation of Impracticability"
       }
      }
     },
     "auth_ref": [
      "r923",
      "r934",
      "r944",
      "r977"
     ]
    },
    "ecd_ForgoneRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r923",
      "r934",
      "r944",
      "r977"
     ]
    },
    "ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year [Member]",
        "terseLabel": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year"
       }
      }
     },
     "auth_ref": [
      "r957"
     ]
    },
    "us-gaap_FurnitureAndFixturesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FurnitureAndFixturesMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Furniture and Equipment [Member]",
        "terseLabel": "Furniture and equipment",
        "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases."
       }
      }
     },
     "auth_ref": []
    },
    "country_GB": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "GB",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED KINGDOM",
        "verboseLabel": "United Kingdom"
       }
      }
     },
     "auth_ref": []
    },
    "inod_GermanAndUnitedKingdomSubsidiariesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "GermanAndUnitedKingdomSubsidiariesMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information of German and United Kingdom subsidiaries.",
        "label": "German and United Kingdom Subsidiaries [Member]",
        "terseLabel": "German and United Kingdom subsidiaries"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Goodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Goodwill",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingAmountOfGoodwillDetails",
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill",
        "periodEndLabel": "Balance - December 31, 2024",
        "periodStartLabel": "Balance - January 1, 2024",
        "terseLabel": "Goodwill",
        "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": [
      "r223",
      "r346",
      "r668",
      "r849",
      "r854",
      "r868",
      "r874",
      "r1067",
      "r1074"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets Disclosure [Text Block]",
        "terseLabel": "Goodwill and Intangible Assets",
        "documentation": "The entire disclosure for goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r1065",
      "r1077"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillAndIntangibleAssetsPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets, Policy [Policy Text Block]",
        "terseLabel": "Goodwill and Other 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": [
      "r1065",
      "r1077"
     ]
    },
    "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillForeignCurrencyTranslationGainLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingAmountOfGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill, Foreign Currency Translation Gain (Loss)",
        "negatedLabel": "Foreign currency translation adjustment",
        "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) asset representing future economic benefit from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r354"
     ]
    },
    "us-gaap_GoodwillImpairmentLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillImpairmentLoss",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails",
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill, Impairment Loss",
        "terseLabel": "Goodwill impairment",
        "documentation": "Amount of impairment loss from 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": [
      "r9",
      "r347",
      "r353",
      "r357",
      "r854",
      "r868"
     ]
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GrossProfit",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gross Profit",
        "totalLabel": "Gross profit",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r116",
      "r118",
      "r173",
      "r262",
      "r338",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r598",
      "r843",
      "r848",
      "r1052",
      "r1054",
      "r1055",
      "r1056",
      "r1057",
      "r1100"
     ]
    },
    "us-gaap_HedgingDesignationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "HedgingDesignationAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Hedging Designation [Axis]",
        "documentation": "Information by designation of purpose of derivative instrument."
       }
      }
     },
     "auth_ref": [
      "r18",
      "r581"
     ]
    },
    "us-gaap_HedgingDesignationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "HedgingDesignationDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Hedging Designation [Domain]",
        "documentation": "Designation of purpose of derivative instrument."
       }
      }
     },
     "auth_ref": [
      "r18"
     ]
    },
    "stpr_IL": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/stpr/2024",
     "localname": "IL",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ISRAEL",
        "verboseLabel": "Israel"
       }
      }
     },
     "auth_ref": []
    },
    "country_IN": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "IN",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "INDIA",
        "terseLabel": "India"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]",
        "terseLabel": "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",
      "r136"
     ]
    },
    "us-gaap_InProcessResearchAndDevelopmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InProcessResearchAndDevelopmentMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "In Process Research and Development [Member]",
        "terseLabel": "In process research and development",
        "documentation": "In process investigation of new knowledge useful in developing new product or service or new process or technique or improvement to existing product or process, and translation of knowledge into plan or design for new product or process or for improvement to existing product or process."
       }
      }
     },
     "auth_ref": [
      "r1078",
      "r1079",
      "r1080",
      "r1081",
      "r1082",
      "r1083",
      "r1085",
      "r1087",
      "r1088",
      "r1089"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnitedStatesAndForeignComponentsOfIncomeLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Domestic",
        "verboseLabel": "United States",
        "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations."
       }
      }
     },
     "auth_ref": [
      "r263",
      "r531"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnitedStatesAndForeignComponentsOfIncomeLossDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (Loss) From Continuing Operations Before Income Taxes, Extraordinary Items, Noncontrolling Interest",
        "totalLabel": "Income before provision for income taxes",
        "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": [
      "r117",
      "r169",
      "r173",
      "r675",
      "r692",
      "r843",
      "r848",
      "r1052",
      "r1054",
      "r1055",
      "r1056",
      "r1057"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnitedStatesAndForeignComponentsOfIncomeLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Foreign",
        "verboseLabel": "Foreign",
        "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": [
      "r263",
      "r531"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (LOSS)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxAuthorityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxAuthorityAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Authority [Axis]",
        "documentation": "Information by income tax jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r258",
      "r532",
      "r533",
      "r541",
      "r552",
      "r865",
      "r1143"
     ]
    },
    "us-gaap_IncomeTaxAuthorityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxAuthorityDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Authority [Domain]",
        "documentation": "Income tax jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r258",
      "r532",
      "r533",
      "r541",
      "r552",
      "r865",
      "r1143"
     ]
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Text Block]",
        "verboseLabel": "Income Taxes",
        "documentation": "The entire disclosure for income tax."
       }
      }
     },
     "auth_ref": [
      "r264",
      "r523",
      "r532",
      "r538",
      "r539",
      "r540",
      "r544",
      "r551",
      "r559",
      "r561",
      "r562",
      "r563",
      "r734",
      "r865"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Expense (Benefit)",
        "totalLabel": "Provision for income taxes",
        "verboseLabel": "Provision for income taxes",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r179",
      "r192",
      "r279",
      "r280",
      "r297",
      "r312",
      "r326",
      "r530",
      "r532",
      "r560",
      "r702",
      "r865"
     ]
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax, Policy [Policy Text Block]",
        "terseLabel": "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": [
      "r242",
      "r526",
      "r527",
      "r544",
      "r545",
      "r550",
      "r554",
      "r728"
     ]
    },
    "inod_IncomeTaxesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "IncomeTaxesLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes [Line Items]",
        "terseLabel": "Income Taxes"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxesPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxesPaid",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes Paid",
        "terseLabel": "Cash paid for income taxes",
        "documentation": "Amount, before refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax."
       }
      }
     },
     "auth_ref": [
      "r30",
      "r126",
      "r1041",
      "r1141",
      "r1142"
     ]
    },
    "inod_IncomeTaxesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "IncomeTaxesTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of information relating to income taxes.",
        "label": "Income Taxes [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) In Accounts Payable and Accrued Liabilities",
        "verboseLabel": "Accounts payable and accrued expenses",
        "documentation": "The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase Decrease In Accounts Receivable",
        "negatedLabel": "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_IncreaseDecreaseInAccruedTaxesPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccruedTaxesPayable",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase Decrease In Accrued Taxes Payable",
        "terseLabel": "Income and other taxes",
        "documentation": "The increase (decrease) during the reporting period of all taxes owed but not paid, including income, property and other taxes."
       }
      }
     },
     "auth_ref": [
      "r1039"
     ]
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Contract with Customer, Liability",
        "terseLabel": "Deferred revenues",
        "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": [
      "r634",
      "r1039"
     ]
    },
    "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase Decrease In Employee Related Liabilities",
        "terseLabel": "Accrued salaries, wages and related benefits",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase Decrease In Operating Capital [Abstract]",
        "terseLabel": "Changes in operating assets and liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOtherOperatingAssets",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase Decrease In Other Operating Assets",
        "negatedLabel": "Other assets",
        "documentation": "Amount of increase (decrease) in operating assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase Decrease In Prepaid Deferred Expense and Other Assets",
        "negatedLabel": "Prepaid expenses and other current assets",
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Incremental Common Shares Attributable To Share-Based Payment Arrangements",
        "verboseLabel": "Dilutive effect of outstanding options and restricted stock units",
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method."
       }
      }
     },
     "auth_ref": [
      "r285",
      "r286",
      "r287",
      "r291",
      "r482"
     ]
    },
    "ecd_IndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "IndividualAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Individual [Axis]",
        "terseLabel": "Individual:"
       }
      }
     },
     "auth_ref": [
      "r923",
      "r934",
      "r944",
      "r968",
      "r977",
      "r981",
      "r989"
     ]
    },
    "ecd_InsiderTradingArrLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTradingArrLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Arrangements [Line Items]",
        "terseLabel": "Insider Trading Arrangements:"
       }
      }
     },
     "auth_ref": [
      "r987"
     ]
    },
    "ecd_InsiderTradingPoliciesProcLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTradingPoliciesProcLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures [Line Items]",
        "terseLabel": "Insider Trading Policies and Procedures:"
       }
      }
     },
     "auth_ref": [
      "r904",
      "r993"
     ]
    },
    "ecd_InsiderTrdPoliciesProcAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTrdPoliciesProcAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Adopted [Flag]",
        "terseLabel": "Insider Trading Policies and Procedures Adopted"
       }
      }
     },
     "auth_ref": [
      "r904",
      "r993"
     ]
    },
    "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]",
        "terseLabel": "Insider Trading Policies and Procedures Not Adopted"
       }
      }
     },
     "auth_ref": [
      "r904",
      "r993"
     ]
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible Assets, Current",
        "verboseLabel": "Intangibles, net",
        "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": [
      "r358",
      "r1085",
      "r1087"
     ]
    },
    "us-gaap_InterestIncomeExpenseNonoperatingNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestIncomeExpenseNonoperatingNet",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Income (Expense), Nonoperating, Net",
        "negatedLabel": "Interest (income) expense, net",
        "documentation": "Amount of interest income (expense) classified as nonoperating."
       }
      }
     },
     "auth_ref": [
      "r848",
      "r1036",
      "r1054"
     ]
    },
    "us-gaap_InterestPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities",
        "terseLabel": "Cash paid for interest",
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount."
       }
      }
     },
     "auth_ref": [
      "r253",
      "r256",
      "r257"
     ]
    },
    "inod_InterestRateDescriptionLitigation": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "InterestRateDescriptionLitigation",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of the interest rate relating to Litigation",
        "label": "Interest Rate Description Litigation",
        "terseLabel": "Interest rate description litigation"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InvestmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InvestmentPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment, Policy [Policy Text Block]",
        "terseLabel": "Short term Investments-other",
        "documentation": "Disclosure of accounting policy for investment in financial asset."
       }
      }
     },
     "auth_ref": [
      "r701",
      "r724",
      "r725",
      "r726",
      "r727",
      "r798",
      "r799"
     ]
    },
    "inod_July2019Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "July2019Member",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This member stands for repurchased share under the July 2019 authorization.",
        "label": "July 2019 [Member]",
        "terseLabel": "July 2019"
       }
      }
     },
     "auth_ref": []
    },
    "country_LK": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "LK",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SRI LANKA",
        "verboseLabel": "Sri Lanka"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LeaseholdImprovementsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leasehold Improvements [Member]",
        "terseLabel": "Leasehold improvements",
        "documentation": "Additions or improvements to assets held under a lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r135",
      "r624"
     ]
    },
    "us-gaap_LesseeDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeLeaseDescriptionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeLeaseDescriptionLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails",
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Lease, Description [Line Items]",
        "terseLabel": "Operating Leases",
        "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": [
      "r619",
      "r625"
     ]
    },
    "us-gaap_LesseeLeaseDescriptionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeLeaseDescriptionTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails",
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Lease, Description [Table]",
        "documentation": "Disclosure of information about lessee's leases."
       }
      }
     },
     "auth_ref": [
      "r619",
      "r625"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]",
        "terseLabel": "Schedule of net present value of operating lease liability",
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position."
       }
      }
     },
     "auth_ref": [
      "r1165"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due",
        "totalLabel": "Total lease payments",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease."
       }
      }
     },
     "auth_ref": [
      "r623"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "terseLabel": "2025",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r623"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Five",
        "terseLabel": "2029",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r623"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Four",
        "terseLabel": "2028",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r623"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Three",
        "verboseLabel": "2027",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r623"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Two",
        "terseLabel": "2026",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r623"
     ]
    },
    "inod_LesseeOperatingLeaseLiabilityToBePaidThereafter": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "LesseeOperatingLeaseLiabilityToBePaidThereafter",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due thereafter. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Thereafter",
        "terseLabel": "2030 and thereafter"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "negatedLabel": "Less: Interest",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease."
       }
      }
     },
     "auth_ref": [
      "r623"
     ]
    },
    "us-gaap_LesseeOperatingLeaseTermOfContract": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseTermOfContract",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Term of Contract",
        "terseLabel": "Lease agreements term",
        "documentation": "Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r1164"
     ]
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeasesTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Leases [Text Block]",
        "terseLabel": "Operating 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": [
      "r614"
     ]
    },
    "us-gaap_LessorLeasesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LessorLeasesPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessor, Leases [Policy Text Block]",
        "terseLabel": "Accounting for Leases",
        "documentation": "Disclosure of accounting policy for leasing arrangements entered into by lessor."
       }
      }
     },
     "auth_ref": [
      "r186",
      "r187",
      "r188",
      "r626"
     ]
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Liabilities",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities",
        "totalLabel": "Total liabilities",
        "documentation": "Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r92",
      "r93",
      "r94",
      "r96",
      "r97",
      "r98",
      "r101",
      "r262",
      "r338",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r573",
      "r577",
      "r578",
      "r598",
      "r750",
      "r842",
      "r898",
      "r1100",
      "r1170",
      "r1171"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Stockholders Equity",
        "totalLabel": "Total liabilities, non-controlling interests and stockholders' equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r109",
      "r167",
      "r688",
      "r874",
      "r1044",
      "r1063",
      "r1160"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity [Abstract]",
        "verboseLabel": "LIABILITIES, NON-CONTROLLING INTERESTS AND STOCKHOLDERS' EQUITY"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current, Total",
        "totalLabel": "Total current liabilities",
        "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": [
      "r94",
      "r221",
      "r262",
      "r338",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r573",
      "r577",
      "r578",
      "r598",
      "r874",
      "r1100",
      "r1170",
      "r1171"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "verboseLabel": "Current liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "inod_LicensesObligationsAmountPayableAnnually": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "LicensesObligationsAmountPayableAnnually",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount payable annually over the term of the license agreement.",
        "label": "Licenses Obligations, Amount Payable Annually",
        "terseLabel": "Microsoft licenses, Amount payable annually over the term of the agreement"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit"
       }
      }
     },
     "auth_ref": []
    },
    "inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio": {
     "xbrltype": "pureItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Threshold minimum required fixed charge coverage ratio under the line of credit facility.",
        "label": "Line of Credit Facility, Covenant Terms, Threshold Minimum Required Fixed Charge Coverage Ratio",
        "terseLabel": "Threshold minimum fixed charge coverage ratio required to be maintained"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityCurrentBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility, Current Borrowing Capacity",
        "terseLabel": "Borrowing base calculation",
        "documentation": "Amount of current borrowing capacity under the credit facility considering any current restrictions on the amount that could be borrowed (for example, borrowings may be limited by the amount of current assets), but without considering any amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r91",
      "r95"
     ]
    },
    "us-gaap_LineOfCreditFacilityLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility [Line Items]",
        "terseLabel": "Line of Credit",
        "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": [
      "r388",
      "r1043",
      "r1097"
     ]
    },
    "inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum amount of eligible foreign accounts considered for determination of borrowing base under the line of credit facility.",
        "label": "Line of Credit Facility, Maximum Amount Of Eligible Foreign Accounts Considered For Determination Of Borrowing Base",
        "terseLabel": "Maximum amount of eligible foreign accounts considered for determination of borrowing base"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "terseLabel": "Maximum borrowing capacity",
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r91",
      "r95"
     ]
    },
    "inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of eligible accounts subject to the approval of the Lender considered for determination of borrowing base under the line of credit facility.",
        "label": "Line Of Credit Facility Maximum Borrowing Capacity Subject To Approval Of the Lender",
        "terseLabel": "Maximum borrowing capacity subject to approval of the lender"
       }
      }
     },
     "auth_ref": []
    },
    "inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of all eligible foreign accounts considered for determination of borrowing base under the line of credit facility.",
        "label": "Line Of Credit Facility Percentage Of All Eligible Foreign Accounts Considered For Determination Of Borrowing Base",
        "terseLabel": "Percentage of all eligible foreign accounts considered for determination of borrowing base"
       }
      }
     },
     "auth_ref": []
    },
    "inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of all eligible unbilled accounts considered for determination of borrowing base under the line of credit facility.",
        "label": "Line Of Credit Facility Percentage Of All Eligible Unbilled Accounts Considered For Determination Of Borrowing Base",
        "terseLabel": "Percentage of all eligible unbilled accounts considered for determination of borrowing base"
       }
      }
     },
     "auth_ref": []
    },
    "inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of eligible accounts considered for determination of borrowing base under the line of credit facility.",
        "label": "Line of Credit Facility, Percentage Of Eligible Accounts Considered For Determination Of Borrowing Base",
        "terseLabel": "Percentage of eligible accounts considered for determination of borrowing base"
       }
      }
     },
     "auth_ref": []
    },
    "inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of eligible foreign accounts considered for determination of borrowing base under the line of credit facility.",
        "label": "Line of Credit Facility, Percentage Of Eligible Foreign Accounts Considered For Determination Of Borrowing Base",
        "terseLabel": "Percentage of eligible foreign accounts considered for determination of borrowing base"
       }
      }
     },
     "auth_ref": []
    },
    "inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of eligible unbilled accounts considered for determination of borrowing base under the line of credit facility.",
        "label": "Line Of Credit Facility Percentage Of Eligible Unbilled Accounts Considered For Determination Of Borrowing Base",
        "terseLabel": "Percentage of eligible unbilled accounts considered for determination of borrowing base"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "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": [
      "r91",
      "r95",
      "r388",
      "r1043",
      "r1097"
     ]
    },
    "us-gaap_LitigationReserve": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LitigationReserve",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Estimated Litigation Liability",
        "verboseLabel": "Estimated litigation liability",
        "documentation": "Aggregate carrying amount of the estimated litigation liability for known or estimated probable loss from litigation, which may include attorneys' fees and other litigation costs."
       }
      }
     },
     "auth_ref": [
      "r98",
      "r1096"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "inod_LongTermObligationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "LongTermObligationsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term obligations"
       }
      }
     },
     "auth_ref": []
    },
    "inod_LongTermObligationsDisclosureTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "LongTermObligationsDisclosureTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The tabular disclosure for long-term obligations.",
        "label": "Long-Term Obligations, Disclosure [Table Text Block]",
        "terseLabel": "Schedule of total long-term obligations"
       }
      }
     },
     "auth_ref": []
    },
    "inod_LongTermObligationsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "LongTermObligationsDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for long-term obligations.",
        "label": "Long-Term Obligations, Disclosure [Text Block]",
        "terseLabel": "Long-term obligations"
       }
      }
     },
     "auth_ref": []
    },
    "inod_LongTermOperatingLeaseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "LongTermOperatingLeaseMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This member represents of long term operating lease.",
        "label": "Long Term Operating Lease [Member]",
        "terseLabel": "Long-term operating leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LossContingencyAccrualAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LossContingencyAccrualAtCarryingValue",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Litigation Settlement, Expense",
        "terseLabel": "Litigation settlement expense",
        "documentation": "Amount of loss contingency liability."
       }
      }
     },
     "auth_ref": [
      "r382",
      "r1012"
     ]
    },
    "srt_MajorCustomersAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MajorCustomersAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Major Customers [Axis]",
        "documentation": "Information by name or description of a single external customer or a group of external customers."
       }
      }
     },
     "auth_ref": [
      "r333",
      "r858",
      "r883",
      "r887",
      "r1106",
      "r1179",
      "r1182",
      "r1183",
      "r1185",
      "r1186",
      "r1187",
      "r1188",
      "r1189",
      "r1190",
      "r1191",
      "r1192",
      "r1193",
      "r1194",
      "r1195",
      "r1196",
      "r1197",
      "r1198",
      "r1199",
      "r1200",
      "r1201",
      "r1202",
      "r1203",
      "r1204",
      "r1205",
      "r1206",
      "r1207",
      "r1208",
      "r1209"
     ]
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MaximumMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails",
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails",
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails",
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]",
        "terseLabel": "Maximum",
        "documentation": "Upper limit of the provided range."
       }
      }
     },
     "auth_ref": [
      "r195",
      "r197",
      "r199",
      "r200",
      "r202",
      "r215",
      "r216",
      "r383",
      "r384",
      "r385",
      "r386",
      "r477",
      "r521",
      "r597",
      "r633",
      "r714",
      "r715",
      "r722",
      "r742",
      "r743",
      "r796",
      "r800",
      "r802",
      "r803",
      "r811",
      "r828",
      "r829",
      "r853",
      "r856",
      "r861",
      "r869",
      "r870",
      "r871",
      "r872",
      "r884",
      "r1104",
      "r1172",
      "r1173",
      "r1174",
      "r1175",
      "r1176",
      "r1177"
     ]
    },
    "ecd_MeasureAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MeasureAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure [Axis]",
        "terseLabel": "Measure:"
       }
      }
     },
     "auth_ref": [
      "r960"
     ]
    },
    "ecd_MeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r960"
     ]
    },
    "inod_MicrosoftLicensesObligations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "MicrosoftLicensesObligations",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of Microsoft licenses obligations as of balance sheet date.",
        "label": "Microsoft Licenses Obligations",
        "terseLabel": "Microsoft licenses"
       }
      }
     },
     "auth_ref": []
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MinimumMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails",
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails",
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails",
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]",
        "terseLabel": "Minimum",
        "documentation": "Lower limit of the provided range."
       }
      }
     },
     "auth_ref": [
      "r195",
      "r197",
      "r199",
      "r200",
      "r202",
      "r215",
      "r216",
      "r383",
      "r384",
      "r385",
      "r386",
      "r477",
      "r521",
      "r597",
      "r633",
      "r714",
      "r715",
      "r722",
      "r742",
      "r743",
      "r796",
      "r800",
      "r802",
      "r803",
      "r811",
      "r828",
      "r829",
      "r853",
      "r856",
      "r861",
      "r869",
      "r870",
      "r871",
      "r884",
      "r1104",
      "r1172",
      "r1173",
      "r1174",
      "r1175",
      "r1176",
      "r1177"
     ]
    },
    "ecd_MnpiDiscTimedForCompValFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MnpiDiscTimedForCompValFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "MNPI Disclosure Timed for Compensation Value [Flag]",
        "terseLabel": "MNPI Disclosure Timed for Compensation Value"
       }
      }
     },
     "auth_ref": [
      "r980"
     ]
    },
    "ecd_MtrlTermsOfTrdArrTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MtrlTermsOfTrdArrTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Terms of Trading Arrangement [Text Block]",
        "terseLabel": "Material Terms of Trading Arrangement"
       }
      }
     },
     "auth_ref": [
      "r988"
     ]
    },
    "country_NL": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "NL",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "NETHERLANDS",
        "verboseLabel": "The Netherlands"
       }
      }
     },
     "auth_ref": []
    },
    "srt_NameOfMajorCustomerDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "NameOfMajorCustomerDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Name Of Major Customer [Domain]",
        "documentation": "Single external customer or group of external customers."
       }
      }
     },
     "auth_ref": [
      "r333",
      "r858",
      "r883",
      "r887",
      "r1106",
      "r1179",
      "r1182",
      "r1183",
      "r1185",
      "r1186",
      "r1187",
      "r1188",
      "r1189",
      "r1190",
      "r1191",
      "r1192",
      "r1193",
      "r1194",
      "r1195",
      "r1196",
      "r1197",
      "r1198",
      "r1199",
      "r1200",
      "r1201",
      "r1202",
      "r1203",
      "r1204",
      "r1205",
      "r1206",
      "r1207",
      "r1208",
      "r1209"
     ]
    },
    "ecd_NamedExecutiveOfficersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NamedExecutiveOfficersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Named Executive Officers, Footnote [Text Block]",
        "terseLabel": "Named Executive Officers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r961"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "totalLabel": "Net cash provided by 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": [
      "r255"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]",
        "verboseLabel": "Cash flows from financing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "totalLabel": "Net cash 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": [
      "r255"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]",
        "verboseLabel": "Cash flows from investing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net cash provided by (used in) operating activities",
        "totalLabel": "Net cash provided by 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": [
      "r124",
      "r125",
      "r127"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]",
        "verboseLabel": "Cash flows from operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net income (loss) attributable to Innodata Inc. and Subsidiaries",
        "label": "Net Income (Loss)",
        "terseLabel": "Net Income (Loss)",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r119",
      "r127",
      "r170",
      "r219",
      "r237",
      "r240",
      "r245",
      "r262",
      "r270",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r279",
      "r280",
      "r288",
      "r338",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r567",
      "r570",
      "r594",
      "r598",
      "r695",
      "r772",
      "r788",
      "r789",
      "r896",
      "r1100"
     ]
    },
    "us-gaap_NetIncomeLossAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetIncomeLossAttributableToNoncontrollingInterest",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income Loss Attributable To Noncontrolling Interest",
        "verboseLabel": "Income attributable to non-controlling interests",
        "documentation": "Amount of Net Income (Loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r72",
      "r159",
      "r237",
      "r240",
      "r276",
      "r279",
      "r280",
      "r694",
      "r1035"
     ]
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "terseLabel": "Recently Adopted 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": []
    },
    "inod_NonEmployeeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "NonEmployeeMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Non-employees and non-employees directors.",
        "label": "Non Employee [Member]",
        "terseLabel": "Non-employees and non-employee directors"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonGaapMeasureDescriptionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonGaapMeasureDescriptionTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-GAAP Measure Description [Text Block]",
        "terseLabel": "Non-GAAP Measure Description"
       }
      }
     },
     "auth_ref": [
      "r960"
     ]
    },
    "ecd_NonNeosMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonNeosMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-NEOs [Member]",
        "terseLabel": "Non-NEOs"
       }
      }
     },
     "auth_ref": [
      "r923",
      "r934",
      "r944",
      "r968",
      "r977"
     ]
    },
    "ecd_NonPeoNeoAvgCompActuallyPaidAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonPeoNeoAvgCompActuallyPaidAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Compensation Actually Paid Amount",
        "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount"
       }
      }
     },
     "auth_ref": [
      "r951"
     ]
    },
    "ecd_NonPeoNeoAvgTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonPeoNeoAvgTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Total Compensation Amount",
        "terseLabel": "Non-PEO NEO Average Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r950"
     ]
    },
    "ecd_NonPeoNeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonPeoNeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO [Member]",
        "terseLabel": "Non-PEO NEO"
       }
      }
     },
     "auth_ref": [
      "r968"
     ]
    },
    "ecd_NonRule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonRule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]",
        "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r988"
     ]
    },
    "ecd_NonRule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonRule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]",
        "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r988"
     ]
    },
    "us-gaap_NonUsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NonUsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-US [Member]",
        "terseLabel": "Non-US",
        "documentation": "Countries excluding the United States of America (US)."
       }
      }
     },
     "auth_ref": [
      "r1215",
      "r1216",
      "r1217",
      "r1218"
     ]
    },
    "inod_NoncontrollingInterestRedemptionPercentageByParent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "NoncontrollingInterestRedemptionPercentageByParent",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureRedemptionOfNonControllingInterestDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Redemption of parent entity's interest in net assets of the subsidiary, expressed as a percentage.",
        "label": "Noncontrolling Interest, Redemption Percentage by Parent",
        "terseLabel": "Non controlling interest redemption percentage"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NoncurrentAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NoncurrentAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Assets",
        "verboseLabel": "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": [
      "r332"
     ]
    },
    "inod_NoncurrentPortionOfLongTermObligations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "NoncurrentPortionOfLongTermObligations",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The non-current portion of long-term obligations of the entity.",
        "label": "Noncurrent Portion Of Long-Term Obligations",
        "terseLabel": "Long-term obligations, net of current portion",
        "verboseLabel": "Totals"
       }
      }
     },
     "auth_ref": []
    },
    "inod_NumberOfClient": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "NumberOfClient",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents number of clients.",
        "label": "Number of Clients",
        "terseLabel": "Number of clients"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NumberOfReportableSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NumberOfReportableSegments",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of Reportable Segments",
        "terseLabel": "Number of reporting segments",
        "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements."
       }
      }
     },
     "auth_ref": [
      "r844",
      "r852",
      "r1053"
     ]
    },
    "inod_NumberOfVotesForEachShareOfCommonStock": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "NumberOfVotesForEachShareOfCommonStock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the number of votes for each share of common stock of the entity.",
        "label": "Number Of Votes For Each Share Of Common Stock",
        "terseLabel": "Number of votes per share"
       }
      }
     },
     "auth_ref": []
    },
    "inod_OneClientMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "OneClientMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents the member of one client.",
        "label": "One Client [Member]",
        "terseLabel": "One customer"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Income (Loss)",
        "totalLabel": "Segment operating income",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r173",
      "r843",
      "r1052",
      "r1054",
      "r1055",
      "r1056",
      "r1057"
     ]
    },
    "us-gaap_OperatingLeaseExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Expense",
        "terseLabel": "Total rent expense",
        "documentation": "Amount of operating lease expense. Excludes sublease income."
       }
      }
     },
     "auth_ref": [
      "r1163"
     ]
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability",
        "totalLabel": "Total",
        "verboseLabel": "Net present value of lease liabilities",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r617"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability, Current",
        "terseLabel": "Operating lease liability - current portion",
        "verboseLabel": "Current portion",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r617"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability, Noncurrent",
        "terseLabel": "Operating lease liability, net of current portion",
        "verboseLabel": "Long-term portion",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r617"
     ]
    },
    "us-gaap_OperatingLeasePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeasePayments",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Payments",
        "terseLabel": "Cash paid for operating leases",
        "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": [
      "r618",
      "r620"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Right-of-Use Asset",
        "terseLabel": "Right-of-use-asset, net",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r616"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesWeightedAverageRemainingLeaseTermsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "terseLabel": "Weighted-average discount rate",
        "documentation": "Weighted average discount rate for operating lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r622",
      "r873"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesWeightedAverageRemainingLeaseTermsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "terseLabel": "Weighted-average lease term remaining (in months)",
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r621",
      "r873"
     ]
    },
    "us-gaap_OperatingLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLossCarryforwards",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Loss Carryforwards",
        "terseLabel": "Operating loss carryforwards",
        "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws."
       }
      }
     },
     "auth_ref": [
      "r553"
     ]
    },
    "us-gaap_OptionIndexedToIssuersEquityEquityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OptionIndexedToIssuersEquityEquityAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Option Indexed to Issuer's Equity [Axis]",
        "documentation": "Information by type of options indexed to an issuer's equity."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r85",
      "r86",
      "r162"
     ]
    },
    "us-gaap_OptionIndexedToIssuersEquityTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OptionIndexedToIssuersEquityTypeDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Option Indexed to Issuers Equity, Type [Domain]",
        "documentation": "Description of the type of freestanding contract issued by a Company that is indexed to, and potentially settled in, a Company's own stock. Specifically, the pertinent rights and privileges of the securities outstanding."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Organization, Consolidation, Basis of Presentation, Business Description and Accounting Policies [Text Block]",
        "terseLabel": "Description of Business and Summary of Significant Accounting Estimates and Policies",
        "documentation": "The entire disclosure for the general note to the financial statements for the reporting entity which may include, descriptions of the basis of presentation, business description, significant accounting policies, consolidations, reclassifications, new pronouncements not yet adopted and changes in accounting principles."
       }
      }
     },
     "auth_ref": [
      "r128",
      "r129",
      "r130",
      "r157"
     ]
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherAssetsNoncurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Assets Noncurrent",
        "verboseLabel": "Other assets",
        "documentation": "Amount of noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r225"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), before Reclassifications, Net of Tax",
        "terseLabel": "Other comprehensive income (loss) before reclassifications, net of taxes",
        "documentation": "Amount after tax, before reclassification adjustments of other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r23",
      "r26",
      "r244",
      "r605",
      "r608",
      "r611",
      "r696",
      "r1033"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Derivatives Qualifying As Hedges, Net Of Tax",
        "terseLabel": "Change in fair value of derivatives, net of taxes",
        "verboseLabel": "Change in fair value of derivatives, net of taxes",
        "documentation": "Amount, after tax and reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness."
       }
      }
     },
     "auth_ref": [
      "r234",
      "r235",
      "r696"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesContractsDesignatedAsCashFlowHedgesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, before Tax",
        "verboseLabel": "Net gain (loss) recognized in OCI",
        "documentation": "Amount, before tax and reclassification, of gain (loss) from derivative instrument designated and qualifying cash flow hedge included in assessment of hedge effectiveness."
       }
      }
     },
     "auth_ref": [
      "r234",
      "r235",
      "r579",
      "r580",
      "r583"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax",
        "terseLabel": "Foreign currency translation adjustment",
        "verboseLabel": "Foreign currency 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."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r696"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Net of Tax, Total",
        "totalLabel": "Other comprehensive income (loss)",
        "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r23",
      "r238",
      "r241",
      "r246",
      "r276",
      "r605",
      "r606",
      "r611",
      "r670",
      "r696",
      "r1033",
      "r1034"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Pension and Other Postretirement Benefit Plans, Adjustment, Net Of Tax",
        "negatedLabel": "Pension liability adjustment, net of taxes",
        "documentation": "Amount, after tax and reclassification adjustment, of (increase) decrease in accumulated other comprehensive income for defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r5",
      "r114",
      "r115",
      "r696"
     ]
    },
    "ecd_OtherPerfMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OtherPerfMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Performance Measure, Amount",
        "terseLabel": "Other Performance Measure, Amount"
       }
      }
     },
     "auth_ref": [
      "r960"
     ]
    },
    "inod_OtherPrincipallyEuropeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "OtherPrincipallyEuropeMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents information pertaining to other principally Europe segment.",
        "label": "Other Principally Europe [Member]",
        "verboseLabel": "Others - principally other European countries"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherSellingGeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherSellingGeneralAndAdministrativeExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesStockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Selling, General and Administrative Expense",
        "terseLabel": "Selling and administrative expenses",
        "documentation": "Amount of selling, general and administrative expense classified as other."
       }
      }
     },
     "auth_ref": [
      "r120"
     ]
    },
    "us-gaap_OtherShortTermInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherShortTermInvestments",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Short-Term Investments",
        "terseLabel": "Short term investments - other",
        "documentation": "Amount of short-term investments classified as other."
       }
      }
     },
     "auth_ref": [
      "r168",
      "r678",
      "r679",
      "r1031"
     ]
    },
    "ecd_OutstandingAggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OutstandingAggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Aggregate Erroneous Compensation Amount",
        "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r921",
      "r932",
      "r942",
      "r975"
     ]
    },
    "ecd_OutstandingRecoveryCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OutstandingRecoveryCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery Compensation Amount",
        "terseLabel": "Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r924",
      "r935",
      "r945",
      "r978"
     ]
    },
    "ecd_OutstandingRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OutstandingRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r924",
      "r935",
      "r945",
      "r978"
     ]
    },
    "country_PH": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "PH",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PHILIPPINES",
        "verboseLabel": "Philippines"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PatentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PatentsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Patents [Member]",
        "terseLabel": "Patents",
        "documentation": "Exclusive legal right granted by the government to the owner of the patent to exploit an invention or a process for a period of time specified by law."
       }
      }
     },
     "auth_ref": [
      "r156",
      "r1078",
      "r1079",
      "r1080",
      "r1081",
      "r1083",
      "r1085",
      "r1088",
      "r1089"
     ]
    },
    "ecd_PayVsPerformanceDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PayVsPerformanceDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Line Items]",
        "terseLabel": "Pay vs Performance Disclosure"
       }
      }
     },
     "auth_ref": [
      "r949"
     ]
    },
    "us-gaap_PaymentsForProceedsFromShortTermInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsForProceedsFromShortTermInvestments",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments for (Proceeds from) Short-Term Investments",
        "negatedLabel": "Proceeds from short term investments - others",
        "documentation": "The net amount paid (received) by the reporting entity through acquisition or sale and maturities of short-term investments with an original maturity that is three months or less which qualify for treatment as an investing activity based on management's intention and intended by management to be liquidated, if necessary, within the current operating cycle. Includes cash flows from securities classified as trading securities that were acquired for reasons other than sale in the short-term."
       }
      }
     },
     "auth_ref": [
      "r1037",
      "r1038",
      "r1040"
     ]
    },
    "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payment, Tax Withholding, Share-Based Payment Arrangement",
        "negatedLabel": "Withholding taxes on net settlement of restricted stock units",
        "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r252"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments To Acquire Property Plant and Equipment",
        "negatedLabel": "Capital expenditures",
        "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": [
      "r122"
     ]
    },
    "ecd_PeerGroupIssuersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeerGroupIssuersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Issuers, Footnote [Text Block]",
        "terseLabel": "Peer Group Issuers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r959"
     ]
    },
    "ecd_PeerGroupTotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeerGroupTotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Total Shareholder Return Amount",
        "terseLabel": "Peer Group Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r959"
     ]
    },
    "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefits"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension and Other Postretirement Benefits Disclosure [Text Block]",
        "terseLabel": "Pension Benefits",
        "documentation": "The entire disclosure for retirement benefits."
       }
      }
     },
     "auth_ref": [
      "r439",
      "r450",
      "r451",
      "r452",
      "r462",
      "r464",
      "r465",
      "r466",
      "r467",
      "r468",
      "r473",
      "r474",
      "r476",
      "r859"
     ]
    },
    "us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsRecognizedInBalanceSheetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liability, Defined Benefit Plan, Current",
        "terseLabel": "Current accrued benefit cost",
        "documentation": "Amount of liability, recognized in statement of financial position, for defined benefit pension and other postretirement plans, classified as current."
       }
      }
     },
     "auth_ref": [
      "r93",
      "r440",
      "r441",
      "r449",
      "r859"
     ]
    },
    "us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsRecognizedInBalanceSheetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liability, Defined Benefit Plan",
        "totalLabel": "Total amount recognized",
        "documentation": "Amount of liability, recognized in statement of financial position, for defined benefit pension and other postretirement plans."
       }
      }
     },
     "auth_ref": [
      "r165",
      "r441",
      "r449",
      "r1178"
     ]
    },
    "us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsRecognizedInBalanceSheetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liability, Defined Benefit Plan, Noncurrent",
        "terseLabel": "Non-current accrued benefit cost",
        "documentation": "Amount of liability, recognized in statement of financial position, for defined benefit pension and other postretirement plans, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r97",
      "r440",
      "r441",
      "r449",
      "r859"
     ]
    },
    "us-gaap_PensionAndOtherPostretirementPlansPensionsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PensionAndOtherPostretirementPlansPensionsPolicy",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension and Other Postretirement Plans, Pensions, Policy [Policy Text Block]",
        "terseLabel": "Pension",
        "documentation": "Disclosure of accounting policy for pension plans. This accounting policy may address (1) the types of plans sponsored by the entity (2) groups that participate in (or are covered by) each plan (3) how plan assets, liabilities and expenses are measured, including the use of any actuaries and (4) significant assumptions used by the entity to value plan assets and liabilities and how such assumptions are derived."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r13",
      "r19",
      "r61"
     ]
    },
    "us-gaap_PensionExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PensionExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Cost (Reversal of Cost)",
        "terseLabel": "Pension expense",
        "documentation": "Amount of cost (reversal of cost) for pension benefits. Excludes other postretirement benefits."
       }
      }
     },
     "auth_ref": [
      "r848"
     ]
    },
    "ecd_PeoActuallyPaidCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoActuallyPaidCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Actually Paid Compensation Amount",
        "terseLabel": "PEO Actually Paid Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r951"
     ]
    },
    "ecd_PeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO [Member]",
        "terseLabel": "PEO"
       }
      }
     },
     "auth_ref": [
      "r968"
     ]
    },
    "ecd_PeoName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Name",
        "terseLabel": "PEO Name"
       }
      }
     },
     "auth_ref": [
      "r961"
     ]
    },
    "ecd_PeoTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Total Compensation Amount",
        "terseLabel": "PEO Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r950"
     ]
    },
    "inod_PercentageOfRentalEscalations": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "PercentageOfRentalEscalations",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of rental escalations.",
        "label": "Percentage of Rental Escalations",
        "terseLabel": "Percentage of rental escalations"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1110",
      "r1111",
      "r1112",
      "r1113",
      "r1114",
      "r1115",
      "r1116",
      "r1117",
      "r1118",
      "r1119",
      "r1120",
      "r1121",
      "r1122",
      "r1123",
      "r1124",
      "r1125",
      "r1126",
      "r1127",
      "r1128",
      "r1129",
      "r1130",
      "r1131",
      "r1132",
      "r1133",
      "r1134",
      "r1135"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Domain]",
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1110",
      "r1111",
      "r1112",
      "r1113",
      "r1114",
      "r1115",
      "r1116",
      "r1117",
      "r1118",
      "r1119",
      "r1120",
      "r1121",
      "r1122",
      "r1123",
      "r1124",
      "r1125",
      "r1126",
      "r1127",
      "r1128",
      "r1129",
      "r1130",
      "r1131",
      "r1132",
      "r1133",
      "r1134",
      "r1135"
     ]
    },
    "ecd_PnsnAdjsPrrSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PnsnAdjsPrrSvcCstMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Adjustments Prior Service Cost [Member]",
        "terseLabel": "Pension Adjustments Prior Service Cost"
       }
      }
     },
     "auth_ref": [
      "r952"
     ]
    },
    "ecd_PnsnAdjsSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PnsnAdjsSvcCstMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Adjustments Service Cost [Member]",
        "terseLabel": "Pension Adjustments Service Cost"
       }
      }
     },
     "auth_ref": [
      "r1008"
     ]
    },
    "ecd_PnsnBnftsAdjFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PnsnBnftsAdjFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Benefits Adjustments, Footnote [Text Block]",
        "terseLabel": "Pension Benefits Adjustments, Footnote"
       }
      }
     },
     "auth_ref": [
      "r951"
     ]
    },
    "us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PostemploymentBenefitsLiabilityCurrentAndNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Postemployment Benefits Liability",
        "terseLabel": "Pension obligations - accrued pension liability",
        "documentation": "The carrying amount as of the balance sheet date of the obligations recognized for the various benefits provided to former or inactive employees, their beneficiaries, and covered dependents after employment but before retirement."
       }
      }
     },
     "auth_ref": [
      "r165",
      "r1107",
      "r1108"
     ]
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PreferredStockSharesAuthorized",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock, Shares Authorized",
        "terseLabel": "Serial 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": [
      "r102",
      "r752"
     ]
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PreferredStockSharesOutstanding",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock Shares Outstanding",
        "terseLabel": "Serial preferred stock, 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": [
      "r102",
      "r752",
      "r770",
      "r1213",
      "r1214"
     ]
    },
    "us-gaap_PreferredStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PreferredStockValue",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock Value",
        "verboseLabel": "Serial preferred stock; 4,998,000 shares authorized, none issued and outstanding",
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r102",
      "r684",
      "r874"
     ]
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid Expense and Other Assets Current",
        "verboseLabel": "Prepaid expenses and other current assets",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r1032"
     ]
    },
    "us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PrepaidExpensesAndOtherCurrentAssetsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid Expenses And Other Current Assets [Member]",
        "terseLabel": "Prepaid expenses and other current assets",
        "documentation": "Primary financial statement caption encompassing prepaid expenses and other current assets."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromStockOptionsExercised",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Stock Options Exercised",
        "terseLabel": "Proceeds from exercise of stock options",
        "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r22"
     ]
    },
    "us-gaap_ProfitLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProfitLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest, Total",
        "terseLabel": "Consolidated net income (loss)",
        "totalLabel": "Consolidated net income (loss)",
        "verboseLabel": "Consolidated net income (loss)",
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r219",
      "r237",
      "r240",
      "r254",
      "r262",
      "r270",
      "r276",
      "r279",
      "r280",
      "r338",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r567",
      "r570",
      "r571",
      "r574",
      "r575",
      "r594",
      "r598",
      "r675",
      "r693",
      "r735",
      "r772",
      "r788",
      "r789",
      "r866",
      "r867",
      "r897",
      "r1035",
      "r1100"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Property and equipment"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, Accumulated Depreciation and Amortization",
        "negatedLabel": "Less: accumulated depreciation and amortization",
        "documentation": "Amount of accumulated depreciation and amortization from plant, property, and equipment and right-of-use asset from finance lease."
       }
      }
     },
     "auth_ref": [
      "r1015",
      "r1019",
      "r1092"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization",
        "totalLabel": "Net",
        "documentation": "Amount, after accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset."
       }
      }
     },
     "auth_ref": [
      "r1019",
      "r1090"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails",
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization",
        "terseLabel": "Cost",
        "verboseLabel": "Property and equipment, stated at cost",
        "documentation": "Amount, before accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset."
       }
      }
     },
     "auth_ref": [
      "r1014",
      "r1029",
      "r1091"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails",
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails",
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails"
     ],
     "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",
      "r624"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipment"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment Disclosure [Text Block]",
        "terseLabel": "Property and equipment",
        "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": [
      "r134",
      "r183",
      "r189",
      "r190"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Line Items]",
        "verboseLabel": "Property and equipment",
        "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": [
      "r624"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Member]",
        "verboseLabel": "Property and equipment",
        "documentation": "Physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Net, Total",
        "terseLabel": "Property and equipment, net",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r624",
      "r676",
      "r691",
      "r874"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Policy [Policy Text Block]",
        "terseLabel": "Property and Equipment",
        "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",
      "r183",
      "r189",
      "r690"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Table Text Block]",
        "terseLabel": "Schedule of property and equipment, which include amounts recorded under capital leases",
        "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://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails",
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails",
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Type [Domain]",
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software."
       }
      }
     },
     "auth_ref": [
      "r135",
      "r624"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails",
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Useful Life",
        "terseLabel": "Property and equipment useful lives",
        "verboseLabel": "Estimated useful lives",
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProvisionForDoubtfulAccounts",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Credit Loss Expense (Reversal)",
        "terseLabel": "Additions charged to expense",
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r251",
      "r343"
     ]
    },
    "us-gaap_ProvisionForLoanLossesExpensed": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProvisionForLoanLossesExpensed",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable, Credit Loss, Expense (Reversal)",
        "terseLabel": "Provision for credit losses",
        "documentation": "Amount of credit loss expense (reversal of expense) for financing receivable."
       }
      }
     },
     "auth_ref": [
      "r343",
      "r669"
     ]
    },
    "ecd_PvpTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PvpTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Table]",
        "terseLabel": "Pay vs Performance Disclosure"
       }
      }
     },
     "auth_ref": [
      "r949"
     ]
    },
    "ecd_PvpTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PvpTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance [Table Text Block]",
        "terseLabel": "Pay vs Performance Disclosure, Table"
       }
      }
     },
     "auth_ref": [
      "r949"
     ]
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails",
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails",
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails",
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range [Axis]",
        "documentation": "Information by statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median."
       }
      }
     },
     "auth_ref": [
      "r195",
      "r197",
      "r199",
      "r200",
      "r202",
      "r215",
      "r216",
      "r383",
      "r384",
      "r385",
      "r386",
      "r450",
      "r477",
      "r509",
      "r510",
      "r511",
      "r521",
      "r597",
      "r631",
      "r632",
      "r633",
      "r714",
      "r715",
      "r722",
      "r742",
      "r743",
      "r796",
      "r800",
      "r802",
      "r803",
      "r811",
      "r828",
      "r829",
      "r853",
      "r856",
      "r861",
      "r869",
      "r870",
      "r871",
      "r872",
      "r884",
      "r890",
      "r1094",
      "r1104",
      "r1151",
      "r1173",
      "r1174",
      "r1175",
      "r1176",
      "r1177"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails",
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails",
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails",
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range [Domain]",
        "documentation": "Statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median."
       }
      }
     },
     "auth_ref": [
      "r195",
      "r197",
      "r199",
      "r200",
      "r202",
      "r215",
      "r216",
      "r383",
      "r384",
      "r385",
      "r386",
      "r450",
      "r477",
      "r509",
      "r510",
      "r511",
      "r521",
      "r597",
      "r631",
      "r632",
      "r633",
      "r714",
      "r715",
      "r722",
      "r742",
      "r743",
      "r796",
      "r800",
      "r802",
      "r803",
      "r811",
      "r828",
      "r829",
      "r853",
      "r856",
      "r861",
      "r869",
      "r870",
      "r871",
      "r872",
      "r884",
      "r890",
      "r1094",
      "r1104",
      "r1151",
      "r1173",
      "r1174",
      "r1175",
      "r1176",
      "r1177"
     ]
    },
    "us-gaap_ReceivablesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ReceivablesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesContractsDesignatedAsCashFlowHedgesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instruments, Gain (Loss) Reclassified From Accumulated Oci Into Income, Effective Portion, Net",
        "verboseLabel": "Net loss reclassified from accumulated OCI into income",
        "documentation": "Amount before tax of reclassification adjustments of other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r244",
      "r605",
      "r610",
      "r611",
      "r696",
      "r1033"
     ]
    },
    "us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reclassification from Accumulated Other Comprehensive Income, Current Period, Net of Tax",
        "terseLabel": "Net amount reclassified to earnings",
        "documentation": "Amount after tax of reclassification adjustments of other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r23",
      "r26",
      "r244",
      "r605",
      "r610",
      "r611",
      "r696",
      "r1033"
     ]
    },
    "us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reconciliation of Assets from Segment to Consolidated [Table Text Block]",
        "terseLabel": "Reconciliation of Assets from Segment to Consolidated",
        "documentation": "Tabular disclosure of all significant reconciling items in the reconciliation of total assets from reportable segments to the entity's consolidated assets."
       }
      }
     },
     "auth_ref": [
      "r41",
      "r43"
     ]
    },
    "us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment, Reconciliation of Other Items from Segments to Consolidated [Table Text Block]",
        "terseLabel": "Segment information for other significant income statement",
        "documentation": "Tabular disclosure of reconciliation of other items from reportable segments to their consolidated amount. Excludes reconciliation of revenue, profit (loss), and assets."
       }
      }
     },
     "auth_ref": [
      "r42",
      "r43"
     ]
    },
    "ecd_RecoveryOfErrCompDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RecoveryOfErrCompDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]",
        "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure"
       }
      }
     },
     "auth_ref": [
      "r916",
      "r927",
      "r937",
      "r970"
     ]
    },
    "us-gaap_RedeemableNoncontrollingInterestByLegalEntityTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RedeemableNoncontrollingInterestByLegalEntityTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureRedemptionOfNonControllingInterestDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Redeemable Noncontrolling Interest, by Legal Entity [Table]",
        "documentation": "Disclosure of information about redeemable noncontrolling interest included in statement of financial position outside of permanent equity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RedeemableNoncontrollingInterestEquityCarryingAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureRedemptionOfNonControllingInterestDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Redeemable Noncontrolling Interest, Equity, Carrying Amount, Total",
        "terseLabel": "Non-controlling interests",
        "documentation": "As of the reporting date, the aggregate carrying amount of all noncontrolling interests which are redeemable by the (parent) entity (1) at a fixed or determinable price on a fixed or determinable date, (2) at the option of the holder of the noncontrolling interest, or (3) upon occurrence of an event that is not solely within the control of the (parent) entity. This item includes noncontrolling interest holder's ownership (or holders' ownership) regardless of the type of equity interest (common, preferred, other) including all potential organizational (legal) forms of the investee entity."
       }
      }
     },
     "auth_ref": [
      "r46",
      "r47",
      "r140",
      "r141"
     ]
    },
    "us-gaap_RedeemableNoncontrollingInterestLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RedeemableNoncontrollingInterestLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureRedemptionOfNonControllingInterestDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Redeemable Noncontrolling Interest [Line Items]",
        "terseLabel": "Redemption of non-controlling interest",
        "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": []
    },
    "inod_RedemptionOfNonControllingInterestAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "RedemptionOfNonControllingInterestAbstract",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "No definition available.",
        "label": "Redemption of non-controlling interest"
       }
      }
     },
     "auth_ref": []
    },
    "inod_RedemptionOfNonControllingInterestTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "RedemptionOfNonControllingInterestTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureRedemptionOfNonControllingInterest"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for Redemption of non-controlling interest.",
        "label": "Redemption Of Non-Controlling Interest [Text Block]",
        "terseLabel": "Redemption of non-controlling interest"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RelatedPartyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RelatedPartyDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party [Domain]",
        "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": [
      "r335",
      "r463",
      "r628",
      "r629",
      "r682",
      "r689",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r769",
      "r771",
      "r795"
     ]
    },
    "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RelatedPartyTransactionsByRelatedPartyAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party [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": [
      "r335",
      "r463",
      "r628",
      "r629",
      "r682",
      "r689",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r769",
      "r771",
      "r795",
      "r1169"
     ]
    },
    "us-gaap_RepaymentsOfLongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RepaymentsOfLongTermDebt",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Repayments Of Long Term Debt",
        "negatedLabel": "Payment of long-term obligations",
        "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r123",
      "r732"
     ]
    },
    "us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research, Development, and Computer Software Disclosure [Text Block]",
        "terseLabel": "Capitalized Developed Software",
        "documentation": "The entire disclosure for research, development, and computer software activities, including contracts and arrangements to be performed for others and with federal government. Includes costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility and in-process research and development acquired in a business combination consummated during the period."
       }
      }
     },
     "auth_ref": [
      "r522",
      "r830"
     ]
    },
    "inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio": {
     "xbrltype": "pureItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the ratio of shares reserved subject to an option or stock appreciation right granted under award plan.",
        "label": "Reservation of Shares Subject to Option or Stock Appreciation Rights Granted, Ratio",
        "terseLabel": "Share reserve ratio"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_RestatementDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RestatementDateAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date [Axis]",
        "terseLabel": "Restatement Determination Date:"
       }
      }
     },
     "auth_ref": [
      "r917",
      "r928",
      "r938",
      "r971"
     ]
    },
    "ecd_RestatementDeterminationDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RestatementDeterminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date",
        "terseLabel": "Restatement Determination Date"
       }
      }
     },
     "auth_ref": [
      "r918",
      "r929",
      "r939",
      "r972"
     ]
    },
    "ecd_RestatementDoesNotRequireRecoveryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RestatementDoesNotRequireRecoveryTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Does Not Require Recovery [Text Block]",
        "terseLabel": "Restatement does not require Recovery"
       }
      }
     },
     "auth_ref": [
      "r925",
      "r936",
      "r946",
      "r979"
     ]
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestrictedStockUnitsRSUMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Stock Units (RSUs) [Member]",
        "terseLabel": "Restricted Stock Units",
        "verboseLabel": "Restricted Stock Units",
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestrictedStockValueSharesIssuedNetOfTaxWithholdings",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Stock, Value, Shares Issued Net of Tax Withholdings",
        "terseLabel": "Shares withheld for restricted stock unit net settlement",
        "documentation": "Value, after value of shares used to satisfy grantee's tax withholding obligation for award under share-based payment arrangement, of restricted shares issued. Excludes cash used to satisfy grantee's tax withholding obligation."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings Accumulated Deficit",
        "terseLabel": "Retained earnings (deficit)",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r106",
      "r145",
      "r687",
      "r719",
      "r721",
      "r733",
      "r753",
      "r874"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings",
        "terseLabel": "Retained Earnings",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r217",
      "r267",
      "r268",
      "r269",
      "r271",
      "r276",
      "r278",
      "r280",
      "r340",
      "r341",
      "r370",
      "r556",
      "r557",
      "r564",
      "r565",
      "r566",
      "r568",
      "r569",
      "r570",
      "r584",
      "r586",
      "r587",
      "r589",
      "r592",
      "r613",
      "r615",
      "r716",
      "r718",
      "r736",
      "r1213"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer, Excluding Assessed Tax",
        "terseLabel": "Revenues",
        "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": [
      "r171",
      "r172",
      "r297",
      "r305",
      "r306",
      "r320",
      "r326",
      "r329",
      "r331",
      "r333",
      "r436",
      "r437",
      "r635"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Recognition, Deferred Revenue [Policy Text Block]",
        "terseLabel": "Deferred Revenue",
        "documentation": "Disclosure of accounting policy for revenue from contract with customer."
       }
      }
     },
     "auth_ref": [
      "r193",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r832"
     ]
    },
    "us-gaap_RevenueRecognitionPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueRecognitionPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Recognition, Policy [Policy Text Block]",
        "terseLabel": "Revenue Recognition",
        "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources."
       }
      }
     },
     "auth_ref": [
      "r773",
      "r832",
      "r840"
     ]
    },
    "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenues from External Customers and Long-Lived Assets [Line Items]",
        "terseLabel": "Segment reporting and concentrations",
        "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_RevolvingCreditFacilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevolvingCreditFacilityMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revolving Credit Facility [Member]",
        "terseLabel": "Revolving Credit Facility",
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_Rule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "Rule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Adopted [Flag]",
        "terseLabel": "Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r988"
     ]
    },
    "ecd_Rule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "Rule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Terminated [Flag]",
        "terseLabel": "Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r988"
     ]
    },
    "us-gaap_SalesRevenueNetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SalesRevenueNetMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Benchmark [Member]",
        "terseLabel": "Sales revenue, net",
        "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation."
       }
      }
     },
     "auth_ref": [
      "r333",
      "r1016"
     ]
    },
    "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]",
        "terseLabel": "Schedule of accounts receivable",
        "documentation": "Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables."
       }
      }
     },
     "auth_ref": [
      "r104",
      "r110"
     ]
    },
    "us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Accumulated Other Comprehensive Income (Loss) [Table Text Block]",
        "verboseLabel": "Schedule of components of accumulated other comprehensive loss and reclassifications from accumulated other comprehensive loss",
        "documentation": "Tabular disclosure of the components of accumulated other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r1161",
      "r1162"
     ]
    },
    "us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Amounts Recognized in Balance Sheet [Table Text Block]",
        "terseLabel": "Schedule of accumulated benefit obligation",
        "documentation": "Tabular disclosure of the amounts that are recognized in the balance sheet (or statement of financial position) for pension plans and/or other employee benefit plans, showing separately the assets and current and noncurrent liabilities (if applicable) recognized."
       }
      }
     },
     "auth_ref": [
      "r56"
     ]
    },
    "us-gaap_ScheduleOfAssumptionsUsedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfAssumptionsUsedTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Assumptions Used [Table Text Block]",
        "terseLabel": "Schedule of actuarial assumptions for all non-U.S. plans",
        "documentation": "Tabular disclosure of assumption used to determine benefit obligation and net periodic benefit cost of defined benefit plan. Includes, but is not limited to, discount rate, rate of compensation increase, expected long-term rate of return on plan assets and interest crediting rate."
       }
      }
     },
     "auth_ref": [
      "r459"
     ]
    },
    "us-gaap_ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Changes in Accumulated Postemployment Benefit Obligations [Table Text Block]",
        "terseLabel": "Schedule of status of the non-U.S. pension benefits pertaining to benefit obligations",
        "documentation": "Tabular disclosure of the change in the accumulated postemployment benefit obligation from the beginning to the end of the period, showing separately, if applicable, the effects of the following: service cost, interest cost, contributions by plan participants, actuarial gains and losses, foreign currency exchange rate changes, benefits paid, plan amendments, business combinations, divestitures, curtailments, settlements, and special and contractual termination benefits."
       }
      }
     },
     "auth_ref": [
      "r146"
     ]
    },
    "us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Compensation Cost for Share-based Payment Arrangements, Allocation of Share-based Compensation Costs by Plan [Table Text Block]",
        "terseLabel": "Schedule of stock-based compensation expense",
        "documentation": "Tabular disclosure of cost recognized for award under share-based payment arrangement by plan. Includes, but is not limited to, related tax benefit."
       }
      }
     },
     "auth_ref": [
      "r63"
     ]
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]",
        "terseLabel": "Schedule of components of provision for income taxes",
        "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": [
      "r1145"
     ]
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]",
        "terseLabel": "Schedule of deferred tax assets and 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": [
      "r1140"
     ]
    },
    "us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfDefinedBenefitPlansDisclosuresTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails",
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Defined Benefit Plans Disclosures [Table]",
        "documentation": "Disclosure of information about individual defined benefit pension plan or other postretirement defined benefit plan. It may be appropriate to group certain similar plans. Also includes schedule for fair value of plan assets by major categories of plan assets by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets or liabilities (Level 1), Significant other observable inputs (Level 2), and significant unobservable inputs (Level 3)."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r57",
      "r58",
      "r59",
      "r60"
     ]
    },
    "us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instruments, Gain (Loss) [Table Text Block]",
        "terseLabel": "Schedule of effect of foreign currency forward contracts designated as cash flow hedges on condensed consolidated statements of operations",
        "documentation": "Tabular disclosure of the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r81",
      "r581"
     ]
    },
    "us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Derivative Instruments In Statement Of Financial Position, Fair Value [Table Text Block]",
        "terseLabel": "Schedule of fair value of derivative instruments included within the condensed consolidated balance sheets",
        "documentation": "Tabular disclosure of the location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position."
       }
      }
     },
     "auth_ref": [
      "r79"
     ]
    },
    "inod_ScheduleOfEarningsPerShareBasicAndDilutedTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Earnings Per Share Basic and Diluted [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "verboseLabel": "Schedule of loss per share, basic and diluted",
        "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": [
      "r1051"
     ]
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]",
        "terseLabel": "Schedule of reconciliation of U.S. statutory rate with Company's effective tax rate",
        "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": [
      "r534",
      "r865",
      "r1136"
     ]
    },
    "us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfExpectedBenefitPaymentsTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Expected Benefit Payments [Table Text Block]",
        "terseLabel": "Schedule of estimated future benefit payments",
        "documentation": "Tabular disclosure of benefits expected to be paid by pension plans and/or other employee benefit plans in each of the next five fiscal years and in the aggregate for the five fiscal years thereafter."
       }
      }
     },
     "auth_ref": [
      "r147"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Finite-Lived Intangible Assets [Table]",
        "documentation": "Disclosure of information about finite-lived intangible asset. Excludes indefinite-lived intangible asset."
       }
      }
     },
     "auth_ref": [
      "r358",
      "r364",
      "r367",
      "r368",
      "r369",
      "r636",
      "r831",
      "r855"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]",
        "terseLabel": "Schedule of Company's acquired intangible assets and capitalized developed software",
        "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment."
       }
      }
     },
     "auth_ref": [
      "r855",
      "r1084"
     ]
    },
    "us-gaap_ScheduleOfGoodwillTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfGoodwillTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Goodwill [Table Text Block]",
        "terseLabel": "Schedule of changes in carrying amount of goodwill",
        "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule."
       }
      }
     },
     "auth_ref": [
      "r854",
      "r1066",
      "r1067",
      "r1068",
      "r1069",
      "r1070",
      "r1071",
      "r1072",
      "r1073",
      "r1074",
      "r1075",
      "r1076"
     ]
    },
    "us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]",
        "terseLabel": "Schedule of United States and foreign components of loss before provision for income taxes",
        "documentation": "Tabular disclosure of income before income tax between domestic and foreign jurisdictions."
       }
      }
     },
     "auth_ref": [
      "r1045"
     ]
    },
    "us-gaap_ScheduleOfNetBenefitCostsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfNetBenefitCostsTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Net Benefit Costs [Table Text Block]",
        "terseLabel": "Schedule of status of the non-U.S. pension benefits pertaining to components of net periodic pension cost",
        "documentation": "Tabular disclosure of the components of net benefit costs for pension plans and/or other employee benefit plans including service cost, interest cost, expected return on plan assets, gain (loss), prior service cost or credit, transition asset or obligation, and gain (loss) recognized due to settlements or curtailments."
       }
      }
     },
     "auth_ref": [
      "r148"
     ]
    },
    "inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of operating lease expense recognized in financial statements.",
        "label": "Schedule of Operating lease expense recognized in Financial Statements [Table Text Block]",
        "terseLabel": "Schedule of operating lease expense recognized in financial statements"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails"
     ],
     "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",
      "r624"
     ]
    },
    "us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Revenue from External Customers Attributed to Foreign Countries by Geographic Area [Table Text Block]",
        "terseLabel": "Schedule of revenue from external customers based on client domicile",
        "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": [
      "r116",
      "r132"
     ]
    },
    "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas [Table Text Block]",
        "terseLabel": "Schedule of revenue from external customers and long-lived assets",
        "documentation": "Tabular disclosure of information concerning material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries."
       }
      }
     },
     "auth_ref": [
      "r44",
      "r116"
     ]
    },
    "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails"
     ],
     "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": [
      "r44",
      "r116"
     ]
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Segment Reporting Information, by Segment [Table]",
        "documentation": "Disclosure of information about profit (loss) and total assets by reportable segment."
       }
      }
     },
     "auth_ref": [
      "r38",
      "r39",
      "r40"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails"
     ],
     "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": [
      "r479",
      "r481",
      "r484",
      "r485",
      "r486",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Share-Based Compensation, Stock Options, Activity [Table Text Block]",
        "terseLabel": "Schedule of stock option activity",
        "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": [
      "r20",
      "r21",
      "r149"
     ]
    },
    "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]",
        "terseLabel": "Schedule of weighted-average fair value of the options granted, and weighted-average 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": [
      "r151"
     ]
    },
    "us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-based Compensation, Restricted Stock and Restricted Stock Units Activity [Table Text Block]",
        "terseLabel": "Summary of restricted stock under the company's plan",
        "documentation": "Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfStockByClassTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfStockByClassTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Stock by Class [Table]",
        "documentation": "Disclosure of information about stock by class. Includes, but is not limited to, common, convertible, and preferred stocks."
       }
      }
     },
     "auth_ref": [
      "r48",
      "r49",
      "r50",
      "r51",
      "r52",
      "r53",
      "r139",
      "r143",
      "r144",
      "r145",
      "r227",
      "r228",
      "r229",
      "r299",
      "r410",
      "r411",
      "r412",
      "r414",
      "r417",
      "r422",
      "r424",
      "r729",
      "r730",
      "r731",
      "r732",
      "r856",
      "r1011",
      "r1042"
     ]
    },
    "us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Unrecognized Tax Benefits Roll Forward [Table Text Block]",
        "terseLabel": "Schedule of roll forward of the Company's unrecognized tax benefits and associated interest",
        "documentation": "Tabular disclosure of the change in unrecognized tax benefits."
       }
      }
     },
     "auth_ref": [
      "r542",
      "r864"
     ]
    },
    "inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of weighted average remaining lease terms and discount rates.",
        "label": "Schedule of Weighted Average Remaining Lease Terms and Discount Rates [Table Text Block]",
        "terseLabel": "Schedule of weighted average remaining lease terms and discount rates"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]",
        "terseLabel": "Schedule of estimated amortization expense for intangible assets",
        "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r855",
      "r1086"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Security12bTitle",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r899"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r901"
     ]
    },
    "us-gaap_SegmentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment [Domain]",
        "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": [
      "r171",
      "r172",
      "r173",
      "r174",
      "r297",
      "r301",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r326",
      "r327",
      "r328",
      "r333",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r369",
      "r378",
      "r379",
      "r703",
      "r704",
      "r705",
      "r706",
      "r707",
      "r708",
      "r709",
      "r710",
      "r711",
      "r712",
      "r713",
      "r845",
      "r848",
      "r849",
      "r854",
      "r886",
      "r1179",
      "r1182",
      "r1183",
      "r1184",
      "r1185",
      "r1186",
      "r1187",
      "r1188",
      "r1189",
      "r1190",
      "r1191",
      "r1192",
      "r1193",
      "r1194",
      "r1195",
      "r1196",
      "r1197",
      "r1198",
      "r1199",
      "r1200",
      "r1201",
      "r1202",
      "r1203",
      "r1204",
      "r1205",
      "r1206",
      "r1207",
      "r1208",
      "r1209"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment, Geographical [Domain]",
        "documentation": "Geographical area."
       }
      }
     },
     "auth_ref": [
      "r196",
      "r198",
      "r201",
      "r203",
      "r204",
      "r205",
      "r206",
      "r207",
      "r209",
      "r210",
      "r211",
      "r212",
      "r213",
      "r214",
      "r331",
      "r332",
      "r638",
      "r639",
      "r640",
      "r641",
      "r642",
      "r643",
      "r644",
      "r645",
      "r646",
      "r647",
      "r648",
      "r649",
      "r650",
      "r651",
      "r652",
      "r653",
      "r654",
      "r655",
      "r656",
      "r657",
      "r658",
      "r659",
      "r660",
      "r661",
      "r662",
      "r663",
      "r664",
      "r665",
      "r666",
      "r667",
      "r738",
      "r739",
      "r740",
      "r797",
      "r801",
      "r804",
      "r812",
      "r815",
      "r818",
      "r819",
      "r820",
      "r821",
      "r823",
      "r824",
      "r825",
      "r826",
      "r827",
      "r833",
      "r857",
      "r875",
      "r876",
      "r877",
      "r878",
      "r879",
      "r880",
      "r881",
      "r882",
      "r885",
      "r890",
      "r1106",
      "r1179",
      "r1182",
      "r1183",
      "r1185",
      "r1186",
      "r1187",
      "r1188",
      "r1189",
      "r1190",
      "r1191",
      "r1192",
      "r1193",
      "r1194",
      "r1195",
      "r1196",
      "r1197",
      "r1198",
      "r1199",
      "r1200",
      "r1201",
      "r1202",
      "r1203",
      "r1204",
      "r1205",
      "r1206",
      "r1207",
      "r1208",
      "r1209"
     ]
    },
    "us-gaap_SegmentReportingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentReportingAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment reporting and concentrations"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentReportingDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting Disclosure [Text Block]",
        "terseLabel": "Segment reporting and concentrations",
        "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": [
      "r174",
      "r297",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r316",
      "r318",
      "r319",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r333",
      "r844",
      "r846",
      "r847",
      "r848",
      "r850",
      "r851",
      "r852"
     ]
    },
    "us-gaap_SegmentReportingInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentReportingInformationLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting Information [Line Items]",
        "verboseLabel": "Segment reporting and concentrations",
        "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_SellingGeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SellingGeneralAndAdministrativeExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Selling and administrative expenses",
        "verboseLabel": "Selling and administrative expenses",
        "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc."
       }
      }
     },
     "auth_ref": [
      "r120"
     ]
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesStockBasedCompensationDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation, Total",
        "terseLabel": "Stock-based compensation",
        "totalLabel": "Total stock-based compensation",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value",
        "terseLabel": "Weighted-Average Grant Date Fair Value, Forfeited/Expired",
        "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event."
       }
      }
     },
     "auth_ref": [
      "r501"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "terseLabel": "Number of Restricted Stock Units, Granted",
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)."
       }
      }
     },
     "auth_ref": [
      "r499"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Weighted-Average Grant Date Fair Value, Granted",
        "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)."
       }
      }
     },
     "auth_ref": [
      "r499"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number",
        "periodEndLabel": "Number of Restricted Stock Units, Unvested at End of the year",
        "periodStartLabel": "Number of Restricted Stock Units, Unvested at Beginning of the year",
        "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date."
       }
      }
     },
     "auth_ref": [
      "r496",
      "r497"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value",
        "periodEndLabel": "Weighted-Average Grant Date Fair Value, Outstanding at End of the year",
        "periodStartLabel": "Weighted-Average Grant Date Fair Value, Outstanding at Beginning of the year",
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": [
      "r496",
      "r497"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period",
        "negatedLabel": "Number of Restricted Stock Units, Vested",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r500"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Weighted-Average Grant Date Fair Value, Vested",
        "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement."
       }
      }
     },
     "auth_ref": [
      "r500"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate",
        "verboseLabel": "Expected dividends",
        "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term."
       }
      }
     },
     "auth_ref": [
      "r510"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate",
        "verboseLabel": "Expected volatility factor",
        "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": [
      "r509"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate",
        "verboseLabel": "Risk-free interest rate",
        "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares."
       }
      }
     },
     "auth_ref": [
      "r511"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]",
        "terseLabel": "Stock Options",
        "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": [
      "r479",
      "r481",
      "r484",
      "r485",
      "r486",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized",
        "terseLabel": "Share-based compensation arrangement by share-based payment award, number of shares authorized",
        "documentation": "Number of shares authorized for issuance under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r863"
     ]
    },
    "inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of our common stock underlying outstanding options or rights under share-based payment arrangement.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Underlying Outstanding Options or Rights",
        "terseLabel": "Shares of common stock underlying outstanding options or rights"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Exercisable, Number",
        "verboseLabel": "Number of Options Exercisable (in shares)",
        "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": [
      "r490"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price",
        "terseLabel": "Weighted Average Exercise Price Exercisable (in dollars per shares)",
        "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": [
      "r490"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Forfeitures and Expirations In Period",
        "negatedLabel": "Number of Options, Forfeited/Expired (in shares)",
        "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": [
      "r1116"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Forfeitures and Expirations In Period, Weighted Average Exercise Price",
        "verboseLabel": "Weighted Average Exercise Price Forfeited/Expired (in dollars per shares)",
        "documentation": "Weighted average price of options that were either forfeited or expired."
       }
      }
     },
     "auth_ref": [
      "r1116"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Grants In Period, Net Of Forfeitures",
        "verboseLabel": "Number of Options, Granted (in shares)",
        "documentation": "Net number of share options (or share units) granted during the period."
       }
      }
     },
     "auth_ref": [
      "r1117"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "verboseLabel": "Weighted average fair value of options granted (in dollars per share)",
        "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": [
      "r502"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Outstanding, Intrinsic Value",
        "verboseLabel": "Aggregate Intrinsic Value, Outstanding",
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding."
       }
      }
     },
     "auth_ref": [
      "r62"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Outstanding, Number",
        "periodEndLabel": "Number of Options, Outstanding - Ending balance (in shares)",
        "periodStartLabel": "Number of Options, Outstanding - Beginning balance (in shares)",
        "terseLabel": "Number of Options, Outstanding",
        "documentation": "Number of options outstanding, including both vested and non-vested options."
       }
      }
     },
     "auth_ref": [
      "r488",
      "r489"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "periodEndLabel": "Weighted Average Exercise Price Outstanding Ending balance (in dollars per shares)",
        "periodStartLabel": "Weighted Average Exercise Price Outstanding beginning balance (in dollars per shares)",
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r488",
      "r489"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Vested and Expected To Vest, Outstanding, Aggregate Intrinsic Value",
        "verboseLabel": "Aggregate Intrinsic Value, Vested and Expected to Vest",
        "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": [
      "r504"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Vested and Expected To Vest, Outstanding, Number",
        "terseLabel": "Number of Options, Vested and Expected to Vest (in shares)",
        "documentation": "Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r504"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Vested and Expected To Vest, Outstanding, Weighted Average Exercise Price",
        "terseLabel": "Weighted Average Exercise Price Vested and Expected to Vest (in dollars per shares)",
        "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r504"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsTables",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Award Types",
        "terseLabel": "All Award Types",
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r484",
      "r485",
      "r486",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangements By Share-Based Payment Award, Options, Exercises In Period, Weighted Average Exercise Price",
        "verboseLabel": "Weighted Average Exercise Price Exercised (in dollars per shares)",
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares."
       }
      }
     },
     "auth_ref": [
      "r493"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangements By Share-Based Payment Award, Options, Grants In Period, Weighted Average Exercise Price",
        "verboseLabel": "Weighted Average Exercise Price Granted (in dollars per shares)",
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options."
       }
      }
     },
     "auth_ref": [
      "r492"
     ]
    },
    "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation, Option and Incentive Plans Policy [Policy Text Block]",
        "terseLabel": "Accounting for Stock-Based Compensation",
        "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost."
       }
      }
     },
     "auth_ref": [
      "r478",
      "r487",
      "r506",
      "r507",
      "r508",
      "r509",
      "r512",
      "r517",
      "r518",
      "r519",
      "r520"
     ]
    },
    "us-gaap_ShareBasedPaymentArrangementGranteeStatusExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedPaymentArrangementGranteeStatusExtensibleList",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Grantee Status [Extensible Enumeration]",
        "documentation": "Indicates status of recipient to whom award under share-based payment arrangement is granted."
       }
      }
     },
     "auth_ref": [
      "r479",
      "r481",
      "r484",
      "r485",
      "r486",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term",
        "verboseLabel": "Expected term (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": [
      "r508"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Exercisable, Intrinsic Value",
        "terseLabel": "Aggregate Intrinsic Value, Exercisable",
        "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable."
       }
      }
     },
     "auth_ref": [
      "r62"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term",
        "verboseLabel": "Weighted Average Remaining Contractual Term Exercisable (in years)",
        "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": [
      "r62"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term",
        "verboseLabel": "Weighted Average Remaining Contractual Term Outstanding (in years)",
        "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": [
      "r150"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Vested and Expected To Vest, Outstanding, Weighted Average Remaining Contractual Term",
        "verboseLabel": "Weighted Average Remaining Contractual Term Vested and Expected to Vest (in years)",
        "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": [
      "r504"
     ]
    },
    "us-gaap_SharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharesOutstanding",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares, Outstanding",
        "periodEndLabel": "Balance at the end (in shares)",
        "periodStartLabel": "Balance at the beginning (in shares)",
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Payment Arrangement, Shares Withheld for Tax Withholding Obligation",
        "negatedLabel": "Shares withheld for exercise net settlement (in shares)",
        "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "inod_ShortTermOperatingLeaseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "ShortTermOperatingLeaseMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This member represents of short term operating lease.",
        "label": "Short Term Operating Lease [Member]",
        "terseLabel": "Short-term operating leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SoftwareDevelopmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SoftwareDevelopmentMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Software Development [Member]",
        "terseLabel": "Capitalized software development",
        "documentation": "Internally developed software for sale, licensing or long-term internal use."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StateAndLocalJurisdictionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StateAndLocalJurisdictionMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "State and Local Jurisdiction [Member]",
        "terseLabel": "State",
        "documentation": "Designated state or local jurisdiction entitled to levy and collect income tax."
       }
      }
     },
     "auth_ref": [
      "r532"
     ]
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementBusinessSegmentsAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Segments [Axis]",
        "documentation": "Information by business segments."
       }
      }
     },
     "auth_ref": [
      "r171",
      "r172",
      "r173",
      "r174",
      "r218",
      "r297",
      "r301",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r326",
      "r327",
      "r328",
      "r333",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r369",
      "r371",
      "r378",
      "r379",
      "r703",
      "r704",
      "r705",
      "r706",
      "r707",
      "r708",
      "r709",
      "r710",
      "r711",
      "r712",
      "r713",
      "r845",
      "r848",
      "r849",
      "r854",
      "r886",
      "r1179",
      "r1182",
      "r1183",
      "r1184",
      "r1185",
      "r1186",
      "r1187",
      "r1188",
      "r1189",
      "r1190",
      "r1191",
      "r1192",
      "r1193",
      "r1194",
      "r1195",
      "r1196",
      "r1197",
      "r1198",
      "r1199",
      "r1200",
      "r1201",
      "r1202",
      "r1203",
      "r1204",
      "r1205",
      "r1206",
      "r1207",
      "r1208",
      "r1209"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails",
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r103",
      "r107",
      "r108",
      "r217",
      "r243",
      "r244",
      "r245",
      "r267",
      "r268",
      "r269",
      "r271",
      "r276",
      "r278",
      "r280",
      "r298",
      "r340",
      "r341",
      "r370",
      "r425",
      "r556",
      "r557",
      "r564",
      "r565",
      "r566",
      "r568",
      "r569",
      "r570",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r592",
      "r605",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r613",
      "r615",
      "r627",
      "r696",
      "r716",
      "r717",
      "r718",
      "r736",
      "r790"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]",
        "documentation": "Information by geographical components."
       }
      }
     },
     "auth_ref": [
      "r196",
      "r198",
      "r201",
      "r203",
      "r204",
      "r205",
      "r206",
      "r207",
      "r209",
      "r210",
      "r211",
      "r212",
      "r213",
      "r214",
      "r331",
      "r332",
      "r638",
      "r639",
      "r640",
      "r641",
      "r642",
      "r643",
      "r644",
      "r645",
      "r646",
      "r647",
      "r648",
      "r649",
      "r650",
      "r651",
      "r652",
      "r653",
      "r654",
      "r655",
      "r656",
      "r657",
      "r658",
      "r659",
      "r660",
      "r661",
      "r662",
      "r663",
      "r664",
      "r665",
      "r666",
      "r667",
      "r738",
      "r739",
      "r740",
      "r797",
      "r801",
      "r804",
      "r812",
      "r815",
      "r818",
      "r819",
      "r820",
      "r821",
      "r823",
      "r824",
      "r825",
      "r826",
      "r827",
      "r833",
      "r857",
      "r875",
      "r876",
      "r877",
      "r878",
      "r879",
      "r880",
      "r881",
      "r882",
      "r885",
      "r890",
      "r1106",
      "r1179",
      "r1182",
      "r1183",
      "r1185",
      "r1186",
      "r1187",
      "r1188",
      "r1189",
      "r1190",
      "r1191",
      "r1192",
      "r1193",
      "r1194",
      "r1195",
      "r1196",
      "r1197",
      "r1198",
      "r1199",
      "r1200",
      "r1201",
      "r1202",
      "r1203",
      "r1204",
      "r1205",
      "r1206",
      "r1207",
      "r1208",
      "r1209"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Line Items]",
        "terseLabel": "Statement",
        "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": [
      "r267",
      "r268",
      "r269",
      "r298",
      "r615",
      "r635",
      "r724",
      "r737",
      "r744",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r752",
      "r755",
      "r756",
      "r757",
      "r758",
      "r759",
      "r760",
      "r761",
      "r762",
      "r763",
      "r765",
      "r766",
      "r767",
      "r768",
      "r769",
      "r771",
      "r773",
      "r774",
      "r775",
      "r776",
      "r777",
      "r778",
      "r779",
      "r780",
      "r781",
      "r782",
      "r783",
      "r784",
      "r785",
      "r786",
      "r790",
      "r891"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF CASH FLOWS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED BALANCE SHEETS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfStockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "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": [
      "r267",
      "r268",
      "r269",
      "r298",
      "r335",
      "r615",
      "r635",
      "r724",
      "r737",
      "r744",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r752",
      "r755",
      "r756",
      "r757",
      "r758",
      "r759",
      "r760",
      "r761",
      "r762",
      "r763",
      "r765",
      "r766",
      "r767",
      "r768",
      "r769",
      "r771",
      "r773",
      "r774",
      "r775",
      "r776",
      "r777",
      "r778",
      "r779",
      "r780",
      "r781",
      "r782",
      "r783",
      "r784",
      "r785",
      "r786",
      "r790",
      "r891"
     ]
    },
    "ecd_StkPrcOrTsrEstimationMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "StkPrcOrTsrEstimationMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Price or TSR Estimation Method [Text Block]",
        "terseLabel": "Stock Price or TSR Estimation Method"
       }
      }
     },
     "auth_ref": [
      "r920",
      "r931",
      "r941",
      "r974"
     ]
    },
    "us-gaap_StockAppreciationRightsSARSMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockAppreciationRightsSARSMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Appreciation Rights (SARs) [Member]",
        "terseLabel": "Stock Appreciation Rights (SARs)",
        "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures",
        "terseLabel": "Restricted stock units vested (in shares)",
        "documentation": "Number of shares issued during the period related to Restricted Stock Awards, net of any shares forfeited."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r102",
      "r103",
      "r145"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock option exercises (in shares)",
        "negatedLabel": "Number of Options, Exercised (in shares)",
        "terseLabel": "Stock option exercises (in shares)",
        "documentation": "Number of share options (or share units) exercised during the current period."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r102",
      "r103",
      "r145",
      "r493"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exercise of stock options",
        "terseLabel": "Stock option exercises",
        "documentation": "Value of stock issued as a result of the exercise of stock options."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r103",
      "r107",
      "r108",
      "r145"
     ]
    },
    "us-gaap_StockOptionPlanExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockOptionPlanExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesStockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock or Unit Option Plan Expense",
        "terseLabel": "Direct operating costs",
        "documentation": "Amount of noncash expense for option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "inod_StockOptionsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "StockOptionsLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Stock Options [Line Items]",
        "terseLabel": "Stock Options and Restricted Stock Units"
       }
      }
     },
     "auth_ref": []
    },
    "inod_StockOptionsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "StockOptionsTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting stock options.",
        "label": "Stock Options [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_StockRepurchaseProgramAuthorizedAmount1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "StockRepurchaseProgramAuthorizedAmount1",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Repurchase Program, Authorized Amount",
        "terseLabel": "Shares authorized to repurchase",
        "documentation": "Amount authorized for purchase of share under share repurchase plan. Includes, but is not limited to, repurchase of stock and unit of ownership."
       }
      }
     },
     "auth_ref": [
      "r1105"
     ]
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockRepurchasedDuringPeriodShares",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Repurchased During Period, Shares",
        "terseLabel": "Purchase of treasury stock (in shares)",
        "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r102",
      "r103",
      "r145",
      "r732",
      "r790",
      "r813"
     ]
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders Equity",
        "periodEndLabel": "Balance at the end",
        "periodStartLabel": "Balance at the beginning",
        "totalLabel": "Total stockholders' equity",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r103",
      "r107",
      "r108",
      "r133",
      "r754",
      "r770",
      "r791",
      "r792",
      "r874",
      "r898",
      "r1044",
      "r1063",
      "r1160",
      "r1213"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders Equity [Abstract]",
        "terseLabel": "STOCKHOLDERS' EQUITY:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityBeforeTreasuryStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityBeforeTreasuryStock",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders Equity Before Treasury Stock",
        "totalLabel": "Stockholders' Equity before Treasury Stock, Total",
        "documentation": "Total amount of stockholders' equity (deficit) items including stock value, paid in capital, retained earnings and including equity attributable to noncontrolling interests and before deducting the carrying value of treasury stock."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityNoteAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityNoteAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Capital Stock"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStock"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Note Disclosure [Text Block]",
        "terseLabel": "Capital Stock",
        "documentation": "The entire disclosure for equity."
       }
      }
     },
     "auth_ref": [
      "r142",
      "r261",
      "r409",
      "r411",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r423",
      "r425",
      "r591",
      "r793",
      "r794",
      "r814"
     ]
    },
    "srt_SubsidiariesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "SubsidiariesMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsidiaries [Member]",
        "terseLabel": "Subsidiaries",
        "documentation": "Entity in which controlling financial interest is held. Includes, but is not limited to, variable interest entity (VIE) consolidated by primary beneficiary. Excludes entity in which broker-dealer holds controlling financial interest but control is likely to be temporary."
       }
      }
     },
     "auth_ref": [
      "r1109",
      "r1166",
      "r1167",
      "r1169"
     ]
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SupplementalCashFlowInformationAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Information [Abstract]",
        "verboseLabel": "Supplemental disclosures of cash flow information:"
       }
      }
     },
     "auth_ref": []
    },
    "inod_SynodexMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "SynodexMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents information pertaining to Synodex segment.",
        "label": "Synodex [Member]",
        "verboseLabel": "Synodex"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TabularListTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TabularListTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tabular List [Table Text Block]",
        "terseLabel": "Tabular List, Table"
       }
      }
     },
     "auth_ref": [
      "r967"
     ]
    },
    "us-gaap_TaxesPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TaxesPayableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Taxes Payable, Current, Total",
        "verboseLabel": "Income and other taxes",
        "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": [
      "r92",
      "r93"
     ]
    },
    "us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TemporaryEquityForeignCurrencyTranslationAdjustments",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDeferredRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Temporary Equity, Foreign Currency Translation Adjustments",
        "negatedLabel": "Currency translations and other adjustments",
        "documentation": "Adjustments to temporary equity resulting from foreign currency translation adjustments."
       }
      }
     },
     "auth_ref": []
    },
    "inod_ThreeClientsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "ThreeClientsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents the member of three client.",
        "label": "Three Clients [Member]",
        "terseLabel": "Three customer"
       }
      }
     },
     "auth_ref": []
    },
    "srt_TitleOfIndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "TitleOfIndividualAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Axis]",
        "documentation": "Information by title and position of individual or group within organization."
       }
      }
     },
     "auth_ref": [
      "r1058",
      "r1168"
     ]
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Relationship to Entity [Domain]",
        "documentation": "Title and position of individual or group within organization."
       }
      }
     },
     "auth_ref": []
    },
    "inod_TotalLongTermObligations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "TotalLongTermObligations",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total amount of long-term obligations of the entity.",
        "label": "Total Long-Term Obligations",
        "totalLabel": "Total long-term obligations"
       }
      }
     },
     "auth_ref": []
    },
    "inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total after tax and before reclassification adjustments of other comprehensive income (loss).",
        "label": "Total Other Comprehensive Income (Loss) Before Reclassifications, Net Of Tax",
        "terseLabel": "Total other comprehensive income (loss) before reclassifications, net of taxes"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Amount",
        "terseLabel": "Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r959"
     ]
    },
    "ecd_TotalShareholderRtnVsPeerGroupTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TotalShareholderRtnVsPeerGroupTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Vs Peer Group [Text Block]",
        "terseLabel": "Total Shareholder Return Vs Peer Group"
       }
      }
     },
     "auth_ref": [
      "r966"
     ]
    },
    "us-gaap_TradeAndOtherAccountsReceivablePolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TradeAndOtherAccountsReceivablePolicy",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trade and Other Accounts Receivable, Policy [Policy Text Block]",
        "terseLabel": "Accounts Receivable",
        "documentation": "Disclosure of accounting policy for accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r175",
      "r176",
      "r177",
      "r1060",
      "r1061",
      "r1062"
     ]
    },
    "us-gaap_TrademarksAndTradeNamesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TrademarksAndTradeNamesMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trademarks and Trade Names [Member]",
        "terseLabel": "Trademarks and tradenames",
        "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style, or rights either acquired through registration of a business name to gain or protect exclusive use thereof."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r1078",
      "r1079",
      "r1080",
      "r1081",
      "r1082",
      "r1083",
      "r1085",
      "r1087",
      "r1088",
      "r1089"
     ]
    },
    "ecd_TradingArrAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TradingArrAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement [Axis]",
        "terseLabel": "Trading Arrangement:"
       }
      }
     },
     "auth_ref": [
      "r987"
     ]
    },
    "ecd_TradingArrByIndTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TradingArrByIndTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangements, by Individual [Table]",
        "terseLabel": "Trading Arrangements, by Individual"
       }
      }
     },
     "auth_ref": [
      "r989"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "TradingSymbol",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TrdArrAdoptionDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrAdoptionDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Adoption Date",
        "terseLabel": "Adoption Date"
       }
      }
     },
     "auth_ref": [
      "r990"
     ]
    },
    "ecd_TrdArrDuration": {
     "xbrltype": "durationItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrDuration",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Duration",
        "terseLabel": "Arrangement Duration"
       }
      }
     },
     "auth_ref": [
      "r991"
     ]
    },
    "ecd_TrdArrExpirationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrExpirationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Expiration Date",
        "terseLabel": "Expiration Date"
       }
      }
     },
     "auth_ref": [
      "r991"
     ]
    },
    "ecd_TrdArrIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r989"
     ]
    },
    "ecd_TrdArrIndTitle": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrIndTitle",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Individual Title",
        "terseLabel": "Title"
       }
      }
     },
     "auth_ref": [
      "r989"
     ]
    },
    "ecd_TrdArrSecuritiesAggAvailAmt": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrSecuritiesAggAvailAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Securities Aggregate Available Amount",
        "terseLabel": "Aggregate Available"
       }
      }
     },
     "auth_ref": [
      "r992"
     ]
    },
    "ecd_TrdArrTerminationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrTerminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Termination Date",
        "terseLabel": "Termination Date"
       }
      }
     },
     "auth_ref": [
      "r990"
     ]
    },
    "us-gaap_TreasuryStockCommonMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockCommonMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock [Member]",
        "terseLabel": "Treasury Stock",
        "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r54"
     ]
    },
    "us-gaap_TreasuryStockCommonShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockCommonShares",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheetsParenthetical",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock, Shares",
        "periodEndLabel": "Balance at the end (in shares)",
        "periodStartLabel": "Balance at the beginning (in shares)",
        "terseLabel": "Treasury stock, shares",
        "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r54"
     ]
    },
    "us-gaap_TreasuryStockCommonValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockCommonValue",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock, Common, Value",
        "terseLabel": "Treasury Stock, common value",
        "documentation": "Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r54",
      "r55",
      "r107"
     ]
    },
    "us-gaap_TreasuryStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockValue",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock Value",
        "negatedLabel": "Less: treasury stock, 3,184,000 shares at December 31, 2024 and 2023, at cost",
        "documentation": "The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury."
       }
      }
     },
     "auth_ref": [
      "r54",
      "r55",
      "r103",
      "r107"
     ]
    },
    "inod_TwoClientMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "TwoClientMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents the member of two clients.",
        "label": "Two Client [Member]",
        "terseLabel": "Two customer"
       }
      }
     },
     "auth_ref": []
    },
    "inod_TwoThousandThirteenStockPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "TwoThousandThirteenStockPlanMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents Information regarding stock plan.",
        "label": "2013 Stock Plan [Member]",
        "terseLabel": "2013 Stock Plan",
        "verboseLabel": "2013 Stock Plan"
       }
      }
     },
     "auth_ref": []
    },
    "inod_TwoThousandTwentyOneEquityCompensationPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "TwoThousandTwentyOneEquityCompensationPlanMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to 2021 Equity Compensation Plan.",
        "label": "2021 Stock Plan [Member]",
        "terseLabel": "2021 Stock Plan",
        "verboseLabel": "2021 Stock Plan"
       }
      }
     },
     "auth_ref": []
    },
    "inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "TwoThousandTwentyOneEquityCompensationPlanOtherMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to other type of 2021 Equity Compensation Plan.",
        "label": "Two Thousand Twenty One Equity Compensation Plan, Other [Member]",
        "terseLabel": "Other type of award"
       }
      }
     },
     "auth_ref": []
    },
    "country_US": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "US",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES",
        "terseLabel": "United States"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UndistributedEarningsOfForeignSubsidiaries": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UndistributedEarningsOfForeignSubsidiaries",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Undistributed Earnings of Foreign Subsidiaries",
        "terseLabel": "Foreign subsidiaries amount",
        "documentation": "Amount of undistributed earnings of foreign subsidiaries intended to be permanently reinvested outside the country of domicile."
       }
      }
     },
     "auth_ref": [
      "r14",
      "r15",
      "r178",
      "r524"
     ]
    },
    "ecd_UndrlygSecurityMktPriceChngPct": {
     "xbrltype": "pureItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "UndrlygSecurityMktPriceChngPct",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Underlying Security Market Price Change, Percent",
        "terseLabel": "Underlying Security Market Price Change"
       }
      }
     },
     "auth_ref": [
      "r986"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UnrecognizedTaxBenefits",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails",
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized Tax Benefits",
        "periodEndLabel": "Balance at end of the year",
        "periodStartLabel": "Balance at beginning of the year",
        "terseLabel": "Reserves for uncertain tax positions",
        "documentation": "Amount of unrecognized tax benefits."
       }
      }
     },
     "auth_ref": [
      "r525",
      "r542",
      "r864"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails",
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions",
        "negatedLabel": "Decrease for prior year tax positions",
        "verboseLabel": "Unrecognized tax benefits",
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns."
       }
      }
     },
     "auth_ref": [
      "r543",
      "r864"
     ]
    },
    "inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase decrease in unrecognized tax benefits resulting from foreign currency translation.",
        "label": "Unrecognized Tax Benefits Increase Decreases Resulting From Foreign Currency Translation",
        "negatedLabel": "Foreign currency remeasurement"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized Tax Benefits, Increase Resulting from Prior Period Tax Positions",
        "terseLabel": "Increase for current year tax positions",
        "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions taken in prior period tax returns."
       }
      }
     },
     "auth_ref": [
      "r543",
      "r864"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized Tax Benefits, Interest on Income Taxes Expense",
        "terseLabel": "Interest accrual",
        "documentation": "Amount of interest expense for an underpayment of income taxes."
       }
      }
     },
     "auth_ref": [
      "r1139"
     ]
    },
    "us-gaap_UseOfEstimates": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UseOfEstimates",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Use Of Estimates, Policy [Policy Text Block]",
        "terseLabel": "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": [
      "r35",
      "r36",
      "r37",
      "r180",
      "r181",
      "r184",
      "r185"
     ]
    },
    "us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ValuationAllowanceDeferredTaxAssetChangeInAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount",
        "terseLabel": "Increase in total valuation allowance",
        "documentation": "Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset."
       }
      }
     },
     "auth_ref": [
      "r546"
     ]
    },
    "inod_VendorFinancedSoftwareLicensesAcquired": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20241231",
     "localname": "VendorFinancedSoftwareLicensesAcquired",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of non cash vendor financed software licenses acquired.",
        "label": "Vendor Financed Software Licenses Acquired",
        "terseLabel": "Vendor financed software licenses acquired"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year [Member]",
        "terseLabel": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year"
       }
      }
     },
     "auth_ref": [
      "r955"
     ]
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "totalLabel": "Adjusted for dilutive computation",
        "verboseLabel": "Diluted (in shares)",
        "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": [
      "r283",
      "r291"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfSharesOutstandingAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number Of Shares Outstanding [Abstract]",
        "verboseLabel": "Weighted average shares outstanding:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeLossPerShareDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "terseLabel": "Basic (in shares)",
        "verboseLabel": "Weighted average common shares outstanding",
        "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": [
      "r282",
      "r291"
     ]
    },
    "ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested [Member]",
        "terseLabel": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested"
       }
      }
     },
     "auth_ref": [
      "r953"
     ]
    }
   }
  }
 },
 "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": "10A",
   "Subparagraph": "(j)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(k)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r6": {
   "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"
  },
  "r7": {
   "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"
  },
  "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": "825",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-1"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "20",
   "Topic": "715",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "30",
   "Topic": "715",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481097/715-30-50-1"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "740",
   "Topic": "942",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477617/942-740-50-1"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "740",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478822/944-740-50-1"
  },
  "r16": {
   "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"
  },
  "r17": {
   "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"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "815",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-2"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "80",
   "Topic": "715",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-2"
  },
  "r20": {
   "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"
  },
  "r21": {
   "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"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2A"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482739/220-10-55-15"
  },
  "r24": {
   "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"
  },
  "r25": {
   "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"
  },
  "r26": {
   "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"
  },
  "r27": {
   "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"
  },
  "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": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r32": {
   "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"
  },
  "r33": {
   "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"
  },
  "r34": {
   "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"
  },
  "r35": {
   "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"
  },
  "r36": {
   "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"
  },
  "r37": {
   "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"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-25"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "30",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r43": {
   "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"
  },
  "r44": {
   "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"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "480",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "63",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481620/480-10-55-63"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "480",
   "SubTopic": "10",
   "Subparagraph": "(12)(c)",
   "Section": "S99",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480244/480-10-S99-3A"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "480",
   "SubTopic": "10",
   "Subparagraph": "(16)(c)",
   "Paragraph": "3A",
   "Section": "S99",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480244/480-10-S99-3A"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481142/505-10-45-2"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-10"
  },
  "r50": {
   "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"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-4"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-5"
  },
  "r53": {
   "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"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481549/505-30-45-1"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481520/505-30-50-4"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-2"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-3"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-4"
  },
  "r60": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480482/715-20-55-17"
  },
  "r61": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "70",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480794/715-70-50-1"
  },
  "r62": {
   "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"
  },
  "r63": {
   "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"
  },
  "r64": {
   "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"
  },
  "r65": {
   "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"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-14"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-20"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "38",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-38"
  },
  "r70": {
   "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"
  },
  "r71": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1"
  },
  "r72": {
   "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"
  },
  "r73": {
   "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"
  },
  "r74": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1"
  },
  "r75": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1A"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4"
  },
  "r77": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B"
  },
  "r80": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-7"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "182",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480401/815-10-55-182"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "40",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480237/815-40-50-4"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "40",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480237/815-40-50-5"
  },
  "r87": {
   "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"
  },
  "r88": {
   "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"
  },
  "r89": {
   "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"
  },
  "r90": {
   "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"
  },
  "r91": {
   "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"
  },
  "r92": {
   "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"
  },
  "r93": {
   "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"
  },
  "r94": {
   "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"
  },
  "r95": {
   "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"
  },
  "r96": {
   "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"
  },
  "r97": {
   "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"
  },
  "r98": {
   "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"
  },
  "r99": {
   "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"
  },
  "r100": {
   "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"
  },
  "r101": {
   "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"
  },
  "r102": {
   "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"
  },
  "r103": {
   "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"
  },
  "r104": {
   "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(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r105": {
   "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"
  },
  "r106": {
   "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"
  },
  "r107": {
   "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"
  },
  "r108": {
   "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"
  },
  "r109": {
   "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"
  },
  "r110": {
   "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(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r111": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/220/tableOfContent"
  },
  "r112": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r113": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r114": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r115": {
   "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"
  },
  "r116": {
   "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"
  },
  "r117": {
   "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"
  },
  "r118": {
   "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"
  },
  "r119": {
   "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"
  },
  "r120": {
   "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"
  },
  "r121": {
   "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)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r122": {
   "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"
  },
  "r123": {
   "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"
  },
  "r124": {
   "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"
  },
  "r125": {
   "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"
  },
  "r126": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25"
  },
  "r127": {
   "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"
  },
  "r128": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/235/tableOfContent"
  },
  "r129": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "250",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/250/tableOfContent"
  },
  "r130": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/275/tableOfContent"
  },
  "r131": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18"
  },
  "r132": {
   "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"
  },
  "r133": {
   "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"
  },
  "r134": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/360/tableOfContent"
  },
  "r135": {
   "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"
  },
  "r136": {
   "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"
  },
  "r137": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/440/tableOfContent"
  },
  "r138": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/470/tableOfContent"
  },
  "r139": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480244/480-10-S99-1"
  },
  "r140": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3A",
   "Subparagraph": "(14)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480244/480-10-S99-3A"
  },
  "r141": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3A",
   "Subparagraph": "(15)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480244/480-10-S99-3A"
  },
  "r142": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/505/tableOfContent"
  },
  "r143": {
   "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"
  },
  "r144": {
   "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"
  },
  "r145": {
   "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"
  },
  "r146": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "715",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r147": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "715",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r148": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "715",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r149": {
   "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"
  },
  "r150": {
   "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"
  },
  "r151": {
   "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"
  },
  "r152": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479515/805-10-05-4"
  },
  "r153": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479515/805-10-05-4"
  },
  "r154": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479515/805-10-05-4"
  },
  "r155": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479515/805-10-05-4"
  },
  "r156": {
   "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"
  },
  "r157": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/810/tableOfContent"
  },
  "r158": {
   "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"
  },
  "r159": {
   "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"
  },
  "r160": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "815",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/815/tableOfContent"
  },
  "r161": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B"
  },
  "r162": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480237/815-40-50-3"
  },
  "r163": {
   "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"
  },
  "r164": {
   "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"
  },
  "r165": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r166": {
   "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"
  },
  "r167": {
   "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"
  },
  "r168": {
   "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"
  },
  "r169": {
   "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"
  },
  "r170": {
   "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"
  },
  "r171": {
   "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"
  },
  "r172": {
   "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"
  },
  "r173": {
   "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"
  },
  "r174": {
   "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"
  },
  "r175": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-11B"
  },
  "r176": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-15"
  },
  "r177": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-6"
  },
  "r178": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "740",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482603/740-30-50-2"
  },
  "r179": {
   "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"
  },
  "r180": {
   "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"
  },
  "r181": {
   "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"
  },
  "r182": {
   "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"
  },
  "r183": {
   "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"
  },
  "r184": {
   "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"
  },
  "r185": {
   "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"
  },
  "r186": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "SubTopic": "30",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479773/842-30-50-14"
  },
  "r187": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3A",
   "Subparagraph": "(a)",
   "SubTopic": "30",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479773/842-30-50-3A"
  },
  "r188": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3A",
   "Subparagraph": "(b)",
   "SubTopic": "30",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479773/842-30-50-3A"
  },
  "r189": {
   "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"
  },
  "r190": {
   "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"
  },
  "r191": {
   "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"
  },
  "r192": {
   "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"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/606/tableOfContent"
  },
  "r194": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "04",
   "Paragraph": "a",
   "Publisher": "SEC"
  },
  "r195": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12",
   "Paragraph": "Column A",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r196": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12",
   "Paragraph": "Column C",
   "Footnote": "5",
   "Publisher": "SEC"
  },
  "r197": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12A",
   "Paragraph": "Column A",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r198": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12A",
   "Paragraph": "Column C",
   "Footnote": "4",
   "Publisher": "SEC"
  },
  "r199": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12B",
   "Paragraph": "Column A",
   "Subparagraph": "(a)",
   "Footnote": "4",
   "Publisher": "SEC"
  },
  "r200": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12B",
   "Paragraph": "Column A",
   "Subparagraph": "(b)",
   "Footnote": "4",
   "Publisher": "SEC"
  },
  "r201": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12B",
   "Paragraph": "Column C",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r202": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "14",
   "Paragraph": "Column A",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r203": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "14",
   "Paragraph": "Column F",
   "Footnote": "7",
   "Publisher": "SEC"
  },
  "r204": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column A",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r205": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column B",
   "Publisher": "SEC"
  },
  "r206": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column C",
   "Publisher": "SEC"
  },
  "r207": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column D",
   "Publisher": "SEC"
  },
  "r208": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column E",
   "Footnote": "4",
   "Publisher": "SEC"
  },
  "r209": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column E",
   "Publisher": "SEC"
  },
  "r210": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column F",
   "Publisher": "SEC"
  },
  "r211": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column G",
   "Publisher": "SEC"
  },
  "r212": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column H",
   "Publisher": "SEC"
  },
  "r213": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column I",
   "Publisher": "SEC"
  },
  "r214": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "29",
   "Paragraph": "Column A",
   "Footnote": "4",
   "Publisher": "SEC"
  },
  "r215": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Staff Accounting Bulletin (SAB)",
   "Number": "Topic 5",
   "Section": "Y",
   "Paragraph": "Question 2",
   "Publisher": "SEC"
  },
  "r216": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Staff Accounting Bulletin (SAB)",
   "Number": "Topic 5",
   "Section": "Y",
   "Paragraph": "Question 4",
   "Publisher": "SEC"
  },
  "r217": {
   "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"
  },
  "r218": {
   "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"
  },
  "r219": {
   "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"
  },
  "r220": {
   "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"
  },
  "r221": {
   "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"
  },
  "r222": {
   "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"
  },
  "r223": {
   "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"
  },
  "r224": {
   "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"
  },
  "r225": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r226": {
   "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"
  },
  "r227": {
   "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"
  },
  "r228": {
   "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"
  },
  "r229": {
   "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"
  },
  "r230": {
   "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"
  },
  "r231": {
   "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"
  },
  "r232": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r233": {
   "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"
  },
  "r234": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-11"
  },
  "r236": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14A"
  },
  "r237": {
   "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"
  },
  "r238": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A"
  },
  "r239": {
   "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"
  },
  "r240": {
   "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"
  },
  "r241": {
   "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"
  },
  "r242": {
   "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"
  },
  "r243": {
   "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"
  },
  "r244": {
   "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"
  },
  "r245": {
   "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"
  },
  "r246": {
   "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(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r247": {
   "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"
  },
  "r248": {
   "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"
  },
  "r249": {
   "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"
  },
  "r250": {
   "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"
  },
  "r251": {
   "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(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r253": {
   "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"
  },
  "r254": {
   "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"
  },
  "r255": {
   "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"
  },
  "r256": {
   "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"
  },
  "r257": {
   "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"
  },
  "r258": {
   "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"
  },
  "r259": {
   "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"
  },
  "r260": {
   "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(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r261": {
   "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"
  },
  "r262": {
   "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"
  },
  "r263": {
   "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"
  },
  "r264": {
   "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"
  },
  "r265": {
   "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(n))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r266": {
   "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"
  },
  "r267": {
   "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"
  },
  "r268": {
   "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"
  },
  "r269": {
   "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"
  },
  "r270": {
   "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"
  },
  "r271": {
   "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"
  },
  "r272": {
   "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"
  },
  "r273": {
   "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"
  },
  "r274": {
   "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"
  },
  "r275": {
   "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"
  },
  "r276": {
   "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"
  },
  "r277": {
   "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"
  },
  "r278": {
   "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"
  },
  "r279": {
   "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"
  },
  "r280": {
   "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"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/260/tableOfContent"
  },
  "r282": {
   "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"
  },
  "r283": {
   "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"
  },
  "r284": {
   "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"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-22"
  },
  "r286": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-23"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-28A"
  },
  "r288": {
   "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"
  },
  "r289": {
   "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"
  },
  "r290": {
   "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"
  },
  "r291": {
   "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"
  },
  "r292": {
   "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"
  },
  "r293": {
   "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"
  },
  "r294": {
   "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"
  },
  "r295": {
   "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"
  },
  "r296": {
   "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"
  },
  "r297": {
   "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"
  },
  "r298": {
   "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"
  },
  "r299": {
   "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"
  },
  "r300": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/280/tableOfContent"
  },
  "r301": {
   "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"
  },
  "r302": {
   "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"
  },
  "r303": {
   "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"
  },
  "r304": {
   "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"
  },
  "r305": {
   "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"
  },
  "r306": {
   "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"
  },
  "r307": {
   "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"
  },
  "r308": {
   "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"
  },
  "r309": {
   "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"
  },
  "r310": {
   "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"
  },
  "r311": {
   "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"
  },
  "r312": {
   "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"
  },
  "r313": {
   "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"
  },
  "r314": {
   "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"
  },
  "r315": {
   "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"
  },
  "r316": {
   "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"
  },
  "r317": {
   "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"
  },
  "r318": {
   "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"
  },
  "r319": {
   "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"
  },
  "r320": {
   "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"
  },
  "r321": {
   "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"
  },
  "r322": {
   "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"
  },
  "r323": {
   "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"
  },
  "r324": {
   "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"
  },
  "r325": {
   "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"
  },
  "r326": {
   "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"
  },
  "r327": {
   "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"
  },
  "r328": {
   "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"
  },
  "r329": {
   "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"
  },
  "r330": {
   "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"
  },
  "r331": {
   "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"
  },
  "r332": {
   "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"
  },
  "r333": {
   "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"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/310/tableOfContent"
  },
  "r335": {
   "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"
  },
  "r336": {
   "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"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-4"
  },
  "r338": {
   "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"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/326/tableOfContent"
  },
  "r340": {
   "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"
  },
  "r341": {
   "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"
  },
  "r342": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479344/326-20-45-1"
  },
  "r343": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r345": {
   "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"
  },
  "r346": {
   "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"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482598/350-20-45-2"
  },
  "r348": {
   "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"
  },
  "r349": {
   "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"
  },
  "r350": {
   "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"
  },
  "r351": {
   "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"
  },
  "r352": {
   "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"
  },
  "r353": {
   "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"
  },
  "r354": {
   "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"
  },
  "r355": {
   "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"
  },
  "r356": {
   "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"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-2"
  },
  "r358": {
   "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"
  },
  "r359": {
   "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"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r361": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r363": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r364": {
   "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"
  },
  "r365": {
   "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"
  },
  "r366": {
   "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"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r369": {
   "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"
  },
  "r370": {
   "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"
  },
  "r371": {
   "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"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r377": {
   "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"
  },
  "r378": {
   "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"
  },
  "r379": {
   "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"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482648/440-10-50-4"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482648/440-10-50-4"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-1"
  },
  "r383": {
   "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"
  },
  "r384": {
   "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"
  },
  "r385": {
   "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"
  },
  "r386": {
   "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"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r388": {
   "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"
  },
  "r389": {
   "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"
  },
  "r390": {
   "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"
  },
  "r391": {
   "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"
  },
  "r392": {
   "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"
  },
  "r393": {
   "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"
  },
  "r394": {
   "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"
  },
  "r395": {
   "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"
  },
  "r396": {
   "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"
  },
  "r397": {
   "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"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r400": {
   "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"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I"
  },
  "r409": {
   "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"
  },
  "r410": {
   "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"
  },
  "r411": {
   "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"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r413": {
   "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"
  },
  "r414": {
   "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"
  },
  "r415": {
   "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"
  },
  "r416": {
   "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"
  },
  "r417": {
   "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"
  },
  "r418": {
   "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"
  },
  "r419": {
   "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"
  },
  "r420": {
   "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"
  },
  "r421": {
   "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"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18"
  },
  "r423": {
   "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"
  },
  "r424": {
   "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"
  },
  "r425": {
   "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"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-1"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-2"
  },
  "r428": {
   "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"
  },
  "r429": {
   "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"
  },
  "r430": {
   "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"
  },
  "r431": {
   "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"
  },
  "r432": {
   "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"
  },
  "r433": {
   "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"
  },
  "r434": {
   "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"
  },
  "r435": {
   "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"
  },
  "r436": {
   "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"
  },
  "r437": {
   "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"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-8"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/715/tableOfContent"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480535/715-20-45-2"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480535/715-20-45-3"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480535/715-20-45-3A"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r448": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r450": {
   "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"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r456": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r457": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r458": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r460": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r461": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r462": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r463": {
   "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"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(o)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(p)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(q)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(r)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(r)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480126/715-20-S99-2"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480266/715-60-50-3"
  },
  "r475": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480266/715-60-50-4"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "70",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480794/715-70-50-1"
  },
  "r477": {
   "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"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/718/tableOfContent"
  },
  "r479": {
   "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"
  },
  "r480": {
   "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"
  },
  "r481": {
   "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"
  },
  "r482": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480454/718-10-45-1"
  },
  "r483": {
   "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"
  },
  "r484": {
   "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"
  },
  "r485": {
   "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"
  },
  "r486": {
   "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"
  },
  "r487": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r488": {
   "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"
  },
  "r489": {
   "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"
  },
  "r490": {
   "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"
  },
  "r491": {
   "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"
  },
  "r492": {
   "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"
  },
  "r493": {
   "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"
  },
  "r494": {
   "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"
  },
  "r495": {
   "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"
  },
  "r496": {
   "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"
  },
  "r497": {
   "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"
  },
  "r498": {
   "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"
  },
  "r499": {
   "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"
  },
  "r500": {
   "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"
  },
  "r501": {
   "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"
  },
  "r502": {
   "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"
  },
  "r503": {
   "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"
  },
  "r504": {
   "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"
  },
  "r505": {
   "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"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r508": {
   "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"
  },
  "r509": {
   "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"
  },
  "r510": {
   "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"
  },
  "r511": {
   "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"
  },
  "r512": {
   "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"
  },
  "r513": {
   "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"
  },
  "r514": {
   "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"
  },
  "r515": {
   "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"
  },
  "r516": {
   "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"
  },
  "r517": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.C.Q3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1"
  },
  "r518": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.1.Q5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1"
  },
  "r519": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.2.Q6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1"
  },
  "r520": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.3.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1"
  },
  "r521": {
   "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"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483041/730-20-50-1"
  },
  "r523": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/740/tableOfContent"
  },
  "r524": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482620/740-10-25-3"
  },
  "r525": {
   "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"
  },
  "r526": {
   "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"
  },
  "r527": {
   "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"
  },
  "r528": {
   "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"
  },
  "r529": {
   "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"
  },
  "r530": {
   "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"
  },
  "r531": {
   "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"
  },
  "r532": {
   "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"
  },
  "r533": {
   "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"
  },
  "r534": {
   "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"
  },
  "r535": {
   "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"
  },
  "r536": {
   "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"
  },
  "r537": {
   "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"
  },
  "r538": {
   "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"
  },
  "r539": {
   "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"
  },
  "r540": {
   "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"
  },
  "r541": {
   "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"
  },
  "r542": {
   "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"
  },
  "r543": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-15A"
  },
  "r544": {
   "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"
  },
  "r545": {
   "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"
  },
  "r546": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-2"
  },
  "r547": {
   "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"
  },
  "r548": {
   "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"
  },
  "r549": {
   "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"
  },
  "r550": {
   "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"
  },
  "r551": {
   "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"
  },
  "r552": {
   "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"
  },
  "r553": {
   "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"
  },
  "r554": {
   "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"
  },
  "r555": {
   "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"
  },
  "r556": {
   "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"
  },
  "r557": {
   "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"
  },
  "r558": {
   "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"
  },
  "r559": {
   "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"
  },
  "r560": {
   "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"
  },
  "r561": {
   "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"
  },
  "r562": {
   "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"
  },
  "r563": {
   "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"
  },
  "r564": {
   "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"
  },
  "r565": {
   "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"
  },
  "r566": {
   "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"
  },
  "r567": {
   "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"
  },
  "r568": {
   "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"
  },
  "r569": {
   "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"
  },
  "r570": {
   "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"
  },
  "r571": {
   "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"
  },
  "r572": {
   "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"
  },
  "r573": {
   "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"
  },
  "r574": {
   "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"
  },
  "r575": {
   "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"
  },
  "r576": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r577": {
   "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"
  },
  "r578": {
   "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"
  },
  "r579": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A"
  },
  "r580": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r581": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4E"
  },
  "r582": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-5C"
  },
  "r583": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480627/815-20-45-3"
  },
  "r584": {
   "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"
  },
  "r585": {
   "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"
  },
  "r586": {
   "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"
  },
  "r587": {
   "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"
  },
  "r588": {
   "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"
  },
  "r589": {
   "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"
  },
  "r590": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480237/815-40-50-5"
  },
  "r591": {
   "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"
  },
  "r592": {
   "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"
  },
  "r593": {
   "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"
  },
  "r594": {
   "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"
  },
  "r595": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r596": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r597": {
   "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"
  },
  "r598": {
   "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"
  },
  "r599": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/830/tableOfContent"
  },
  "r600": {
   "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"
  },
  "r601": {
   "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"
  },
  "r602": {
   "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"
  },
  "r603": {
   "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"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r605": {
   "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"
  },
  "r606": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r607": {
   "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"
  },
  "r608": {
   "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"
  },
  "r609": {
   "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"
  },
  "r610": {
   "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"
  },
  "r611": {
   "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"
  },
  "r612": {
   "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"
  },
  "r613": {
   "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"
  },
  "r614": {
   "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"
  },
  "r615": {
   "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"
  },
  "r616": {
   "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"
  },
  "r617": {
   "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"
  },
  "r618": {
   "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"
  },
  "r619": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-3"
  },
  "r620": {
   "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"
  },
  "r621": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r622": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r623": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-6"
  },
  "r624": {
   "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"
  },
  "r625": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A"
  },
  "r626": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479773/842-30-50-1"
  },
  "r627": {
   "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"
  },
  "r628": {
   "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"
  },
  "r629": {
   "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"
  },
  "r630": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481435/852-10-45-14"
  },
  "r631": {
   "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"
  },
  "r632": {
   "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"
  },
  "r633": {
   "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"
  },
  "r634": {
   "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"
  },
  "r635": {
   "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"
  },
  "r636": {
   "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"
  },
  "r637": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "928",
   "SubTopic": "340",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478859/928-340-50-1"
  },
  "r638": {
   "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"
  },
  "r639": {
   "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"
  },
  "r640": {
   "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"
  },
  "r641": {
   "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"
  },
  "r642": {
   "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"
  },
  "r643": {
   "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"
  },
  "r644": {
   "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"
  },
  "r645": {
   "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"
  },
  "r646": {
   "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"
  },
  "r647": {
   "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"
  },
  "r648": {
   "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"
  },
  "r649": {
   "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"
  },
  "r650": {
   "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"
  },
  "r651": {
   "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"
  },
  "r652": {
   "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"
  },
  "r653": {
   "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"
  },
  "r654": {
   "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"
  },
  "r655": {
   "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"
  },
  "r656": {
   "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"
  },
  "r657": {
   "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"
  },
  "r658": {
   "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"
  },
  "r659": {
   "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"
  },
  "r660": {
   "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"
  },
  "r661": {
   "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"
  },
  "r662": {
   "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"
  },
  "r663": {
   "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"
  },
  "r664": {
   "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"
  },
  "r665": {
   "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"
  },
  "r666": {
   "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"
  },
  "r667": {
   "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"
  },
  "r668": {
   "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"
  },
  "r669": {
   "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(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r670": {
   "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(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r671": {
   "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"
  },
  "r672": {
   "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"
  },
  "r673": {
   "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"
  },
  "r674": {
   "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"
  },
  "r675": {
   "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"
  },
  "r676": {
   "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"
  },
  "r677": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "470",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477734/942-470-50-3"
  },
  "r678": {
   "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"
  },
  "r679": {
   "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)(g))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r680": {
   "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"
  },
  "r681": {
   "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"
  },
  "r682": {
   "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"
  },
  "r683": {
   "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"
  },
  "r684": {
   "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)(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r685": {
   "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"
  },
  "r686": {
   "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"
  },
  "r687": {
   "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"
  },
  "r688": {
   "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"
  },
  "r689": {
   "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"
  },
  "r690": {
   "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"
  },
  "r691": {
   "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"
  },
  "r692": {
   "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"
  },
  "r693": {
   "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"
  },
  "r694": {
   "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"
  },
  "r695": {
   "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"
  },
  "r696": {
   "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"
  },
  "r697": {
   "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"
  },
  "r698": {
   "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"
  },
  "r699": {
   "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"
  },
  "r700": {
   "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"
  },
  "r701": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r702": {
   "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"
  },
  "r703": {
   "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"
  },
  "r704": {
   "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"
  },
  "r705": {
   "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"
  },
  "r706": {
   "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"
  },
  "r707": {
   "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"
  },
  "r708": {
   "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"
  },
  "r709": {
   "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"
  },
  "r710": {
   "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"
  },
  "r711": {
   "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"
  },
  "r712": {
   "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"
  },
  "r713": {
   "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"
  },
  "r714": {
   "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"
  },
  "r715": {
   "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"
  },
  "r716": {
   "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"
  },
  "r717": {
   "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"
  },
  "r718": {
   "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"
  },
  "r719": {
   "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"
  },
  "r720": {
   "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"
  },
  "r721": {
   "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"
  },
  "r722": {
   "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"
  },
  "r723": {
   "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"
  },
  "r724": {
   "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"
  },
  "r725": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(f)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r726": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(f)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r727": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(f)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r728": {
   "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"
  },
  "r729": {
   "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"
  },
  "r730": {
   "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"
  },
  "r731": {
   "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"
  },
  "r732": {
   "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"
  },
  "r733": {
   "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"
  },
  "r734": {
   "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"
  },
  "r735": {
   "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"
  },
  "r736": {
   "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"
  },
  "r737": {
   "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"
  },
  "r738": {
   "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"
  },
  "r739": {
   "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"
  },
  "r740": {
   "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"
  },
  "r741": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r742": {
   "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"
  },
  "r743": {
   "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"
  },
  "r744": {
   "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"
  },
  "r745": {
   "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"
  },
  "r746": {
   "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"
  },
  "r747": {
   "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"
  },
  "r748": {
   "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"
  },
  "r749": {
   "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"
  },
  "r750": {
   "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"
  },
  "r751": {
   "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"
  },
  "r752": {
   "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"
  },
  "r753": {
   "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"
  },
  "r754": {
   "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"
  },
  "r755": {
   "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"
  },
  "r756": {
   "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"
  },
  "r757": {
   "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"
  },
  "r758": {
   "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"
  },
  "r759": {
   "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"
  },
  "r760": {
   "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"
  },
  "r761": {
   "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"
  },
  "r762": {
   "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"
  },
  "r763": {
   "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"
  },
  "r764": {
   "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"
  },
  "r765": {
   "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"
  },
  "r766": {
   "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"
  },
  "r767": {
   "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"
  },
  "r768": {
   "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"
  },
  "r769": {
   "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"
  },
  "r770": {
   "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"
  },
  "r771": {
   "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"
  },
  "r772": {
   "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"
  },
  "r773": {
   "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"
  },
  "r774": {
   "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"
  },
  "r775": {
   "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"
  },
  "r776": {
   "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"
  },
  "r777": {
   "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"
  },
  "r778": {
   "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"
  },
  "r779": {
   "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"
  },
  "r780": {
   "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"
  },
  "r781": {
   "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"
  },
  "r782": {
   "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"
  },
  "r783": {
   "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"
  },
  "r784": {
   "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"
  },
  "r785": {
   "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"
  },
  "r786": {
   "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"
  },
  "r787": {
   "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"
  },
  "r788": {
   "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"
  },
  "r789": {
   "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"
  },
  "r790": {
   "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"
  },
  "r791": {
   "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"
  },
  "r792": {
   "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"
  },
  "r793": {
   "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"
  },
  "r794": {
   "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"
  },
  "r795": {
   "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"
  },
  "r796": {
   "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"
  },
  "r797": {
   "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"
  },
  "r798": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "12",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-12"
  },
  "r799": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "19",
   "Subparagraph": "(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-19"
  },
  "r800": {
   "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"
  },
  "r801": {
   "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"
  },
  "r802": {
   "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"
  },
  "r803": {
   "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"
  },
  "r804": {
   "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"
  },
  "r805": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SX 210.12-13(Column A)(Footnote 3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5"
  },
  "r806": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SX 210.12-13(Column G)(Footnote 8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5"
  },
  "r807": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5B",
   "Subparagraph": "(SX 210.12-13B(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5B"
  },
  "r808": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5B",
   "Subparagraph": "(SX 210.12-13B(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5B"
  },
  "r809": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5B",
   "Subparagraph": "(SX 210.12-13B(Column E)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5B"
  },
  "r810": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5C",
   "Subparagraph": "(SX 210.12-13C(Column H)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C"
  },
  "r811": {
   "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"
  },
  "r812": {
   "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"
  },
  "r813": {
   "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"
  },
  "r814": {
   "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"
  },
  "r815": {
   "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"
  },
  "r816": {
   "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"
  },
  "r817": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "440",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478522/954-440-50-1"
  },
  "r818": {
   "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"
  },
  "r819": {
   "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"
  },
  "r820": {
   "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"
  },
  "r821": {
   "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"
  },
  "r822": {
   "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)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r823": {
   "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"
  },
  "r824": {
   "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"
  },
  "r825": {
   "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"
  },
  "r826": {
   "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"
  },
  "r827": {
   "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"
  },
  "r828": {
   "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"
  },
  "r829": {
   "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"
  },
  "r830": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "985",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/985-20/tableOfContent"
  },
  "r831": {
   "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"
  },
  "r832": {
   "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"
  },
  "r833": {
   "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"
  },
  "r834": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Subparagraph": "(b)",
   "SubTopic": "20",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-38"
  },
  "r835": {
   "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"
  },
  "r836": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r837": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-22"
  },
  "r838": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482739/220-10-55-15"
  },
  "r839": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r840": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r841": {
   "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"
  },
  "r842": {
   "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"
  },
  "r843": {
   "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"
  },
  "r844": {
   "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"
  },
  "r845": {
   "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"
  },
  "r846": {
   "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"
  },
  "r847": {
   "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"
  },
  "r848": {
   "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"
  },
  "r849": {
   "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"
  },
  "r850": {
   "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"
  },
  "r851": {
   "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"
  },
  "r852": {
   "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"
  },
  "r853": {
   "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"
  },
  "r854": {
   "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"
  },
  "r855": {
   "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"
  },
  "r856": {
   "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"
  },
  "r857": {
   "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"
  },
  "r858": {
   "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"
  },
  "r859": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480482/715-20-55-17"
  },
  "r860": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480482/715-20-55-18"
  },
  "r861": {
   "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"
  },
  "r862": {
   "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"
  },
  "r863": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r864": {
   "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"
  },
  "r865": {
   "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"
  },
  "r866": {
   "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"
  },
  "r867": {
   "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"
  },
  "r868": {
   "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"
  },
  "r869": {
   "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"
  },
  "r870": {
   "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"
  },
  "r871": {
   "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"
  },
  "r872": {
   "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"
  },
  "r873": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "53",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479589/842-20-55-53"
  },
  "r874": {
   "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"
  },
  "r875": {
   "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"
  },
  "r876": {
   "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"
  },
  "r877": {
   "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"
  },
  "r878": {
   "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"
  },
  "r879": {
   "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"
  },
  "r880": {
   "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"
  },
  "r881": {
   "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"
  },
  "r882": {
   "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"
  },
  "r883": {
   "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"
  },
  "r884": {
   "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"
  },
  "r885": {
   "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"
  },
  "r886": {
   "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"
  },
  "r887": {
   "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"
  },
  "r888": {
   "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"
  },
  "r889": {
   "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"
  },
  "r890": {
   "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"
  },
  "r891": {
   "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"
  },
  "r892": {
   "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"
  },
  "r893": {
   "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"
  },
  "r894": {
   "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"
  },
  "r895": {
   "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"
  },
  "r896": {
   "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"
  },
  "r897": {
   "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"
  },
  "r898": {
   "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"
  },
  "r899": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r900": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r901": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r902": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r903": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r904": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16",
   "Subsection": "J",
   "Paragraph": "a"
  },
  "r905": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K"
  },
  "r906": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r907": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "b",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r908": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "b",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r909": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "b",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r910": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "b",
   "Paragraph": "2"
  },
  "r911": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "c",
   "Paragraph": "1"
  },
  "r912": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "c",
   "Paragraph": "2"
  },
  "r913": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "c",
   "Paragraph": "2",
   "Subparagraph": "i"
  },
  "r914": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "c",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r915": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "c",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r916": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1"
  },
  "r917": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r918": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r919": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r920": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r921": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r922": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r923": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r924": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r925": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "2"
  },
  "r926": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r927": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a"
  },
  "r928": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r929": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r930": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r931": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r932": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r933": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r934": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r935": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r936": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "b"
  },
  "r937": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a"
  },
  "r938": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r939": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r940": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r941": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r942": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r943": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r944": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r945": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r946": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "b"
  },
  "r947": {
   "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"
  },
  "r948": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v"
  },
  "r949": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "1"
  },
  "r950": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r951": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r952": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "B",
   "Clause": "1",
   "Subclause": "ii"
  },
  "r953": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "i"
  },
  "r954": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "ii"
  },
  "r955": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "iii"
  },
  "r956": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "iv"
  },
  "r957": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "v"
  },
  "r958": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "vi"
  },
  "r959": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iv"
  },
  "r960": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "vi"
  },
  "r961": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "3"
  },
  "r962": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "4"
  },
  "r963": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "i"
  },
  "r964": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "ii"
  },
  "r965": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iii"
  },
  "r966": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iv"
  },
  "r967": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6"
  },
  "r968": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6",
   "Subparagraph": "i"
  },
  "r969": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w"
  },
  "r970": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1"
  },
  "r971": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r972": {
   "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"
  },
  "r973": {
   "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"
  },
  "r974": {
   "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"
  },
  "r975": {
   "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"
  },
  "r976": {
   "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"
  },
  "r977": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r978": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r979": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "2"
  },
  "r980": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "1"
  },
  "r981": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2"
  },
  "r982": {
   "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"
  },
  "r983": {
   "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"
  },
  "r984": {
   "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"
  },
  "r985": {
   "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"
  },
  "r986": {
   "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"
  },
  "r987": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r988": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r989": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "A"
  },
  "r990": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "B"
  },
  "r991": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "C"
  },
  "r992": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "D"
  },
  "r993": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r994": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106"
  },
  "r995": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r996": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "b",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r997": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "b",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r998": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "b",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r999": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "b",
   "Paragraph": "2"
  },
  "r1000": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "c",
   "Paragraph": "1"
  },
  "r1001": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "c",
   "Paragraph": "2"
  },
  "r1002": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "c",
   "Paragraph": "2",
   "Subparagraph": "i"
  },
  "r1003": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "c",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r1004": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "c",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r1005": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Number": "229",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1"
  },
  "r1006": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "A",
   "Number": "229"
  },
  "r1007": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "B",
   "Clause": "1",
   "Number": "229"
  },
  "r1008": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "B",
   "Clause": "1",
   "Subclause": "i",
   "Number": "229"
  },
  "r1009": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r1010": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r1011": {
   "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"
  },
  "r1012": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-10"
  },
  "r1013": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "2",
   "SubTopic": "740",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479176/718-740-35-2"
  },
  "r1014": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-1"
  },
  "r1015": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-4"
  },
  "r1016": {
   "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"
  },
  "r1017": {
   "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"
  },
  "r1018": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "SubTopic": "40",
   "Topic": "340",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479483/340-40-50-2"
  },
  "r1019": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r1020": {
   "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"
  },
  "r1021": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12",
   "Paragraph": "Column A",
   "Subparagraph": "(ii)",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r1022": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12A",
   "Paragraph": "Column A",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r1023": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12B",
   "Paragraph": "Column A",
   "Subparagraph": "(b)",
   "Footnote": "1",
   "Publisher": "SEC"
  },
  "r1024": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "14",
   "Paragraph": "Column A",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r1025": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "13",
   "Subsection": "01",
   "Paragraph": "a",
   "Subparagraph": "(4)(i)",
   "Publisher": "SEC"
  },
  "r1026": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "13",
   "Subsection": "01",
   "Paragraph": "a",
   "Subparagraph": "(4)(iv)",
   "Publisher": "SEC"
  },
  "r1027": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "13",
   "Subsection": "02",
   "Paragraph": "a",
   "Subparagraph": "(4)(iv)",
   "Publisher": "SEC"
  },
  "r1028": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "6",
   "Subsection": "04",
   "Paragraph": "12",
   "Subparagraph": "(b)(1)",
   "Publisher": "SEC"
  },
  "r1029": {
   "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(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r1030": {
   "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(26)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r1031": {
   "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"
  },
  "r1032": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r1033": {
   "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"
  },
  "r1034": {
   "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"
  },
  "r1035": {
   "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"
  },
  "r1036": {
   "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)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r1037": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-12"
  },
  "r1038": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13"
  },
  "r1039": {
   "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"
  },
  "r1040": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-9"
  },
  "r1041": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1042": {
   "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"
  },
  "r1043": {
   "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"
  },
  "r1044": {
   "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"
  },
  "r1045": {
   "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"
  },
  "r1046": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r1047": {
   "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"
  },
  "r1048": {
   "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"
  },
  "r1049": {
   "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"
  },
  "r1050": {
   "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"
  },
  "r1051": {
   "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"
  },
  "r1052": {
   "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"
  },
  "r1053": {
   "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"
  },
  "r1054": {
   "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"
  },
  "r1055": {
   "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"
  },
  "r1056": {
   "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"
  },
  "r1057": {
   "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"
  },
  "r1058": {
   "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"
  },
  "r1059": {
   "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"
  },
  "r1060": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2"
  },
  "r1061": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2"
  },
  "r1062": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481569/310-20-50-1"
  },
  "r1063": {
   "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"
  },
  "r1064": {
   "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"
  },
  "r1065": {
   "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"
  },
  "r1066": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1067": {
   "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"
  },
  "r1068": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1069": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1070": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1071": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1072": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1073": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1074": {
   "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"
  },
  "r1075": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1A"
  },
  "r1076": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-2"
  },
  "r1077": {
   "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"
  },
  "r1078": {
   "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"
  },
  "r1079": {
   "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"
  },
  "r1080": {
   "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"
  },
  "r1081": {
   "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"
  },
  "r1082": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r1083": {
   "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"
  },
  "r1084": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r1085": {
   "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"
  },
  "r1086": {
   "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"
  },
  "r1087": {
   "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"
  },
  "r1088": {
   "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"
  },
  "r1089": {
   "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"
  },
  "r1090": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r1091": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1092": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r1093": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/405-30/tableOfContent"
  },
  "r1094": {
   "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"
  },
  "r1095": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/450/tableOfContent"
  },
  "r1096": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-1"
  },
  "r1097": {
   "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"
  },
  "r1098": {
   "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"
  },
  "r1099": {
   "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)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r1100": {
   "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"
  },
  "r1101": {
   "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"
  },
  "r1102": {
   "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)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r1103": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1104": {
   "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"
  },
  "r1105": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "505",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481520/505-30-50-4"
  },
  "r1106": {
   "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"
  },
  "r1107": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "712",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481179/712-10-25-4"
  },
  "r1108": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "712",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481179/712-10-25-5"
  },
  "r1109": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1110": {
   "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"
  },
  "r1111": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1112": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1113": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1114": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1115": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1116": {
   "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"
  },
  "r1117": {
   "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"
  },
  "r1118": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1119": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1120": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1121": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1122": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1123": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1124": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1125": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1126": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1127": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1128": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1129": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1130": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1131": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1132": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1133": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1134": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1135": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1136": {
   "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"
  },
  "r1137": {
   "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"
  },
  "r1138": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r1139": {
   "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"
  },
  "r1140": {
   "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"
  },
  "r1141": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1142": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1143": {
   "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"
  },
  "r1144": {
   "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"
  },
  "r1145": {
   "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"
  },
  "r1146": {
   "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"
  },
  "r1147": {
   "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"
  },
  "r1148": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1A"
  },
  "r1149": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1B"
  },
  "r1150": {
   "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"
  },
  "r1151": {
   "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"
  },
  "r1152": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1153": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1154": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1155": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1156": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1157": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1158": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3"
  },
  "r1159": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1160": {
   "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"
  },
  "r1161": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r1162": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1163": {
   "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"
  },
  "r1164": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-3"
  },
  "r1165": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-6"
  },
  "r1166": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1167": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1168": {
   "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"
  },
  "r1169": {
   "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"
  },
  "r1170": {
   "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"
  },
  "r1171": {
   "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"
  },
  "r1172": {
   "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"
  },
  "r1173": {
   "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"
  },
  "r1174": {
   "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"
  },
  "r1175": {
   "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"
  },
  "r1176": {
   "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"
  },
  "r1177": {
   "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"
  },
  "r1178": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(15)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r1179": {
   "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"
  },
  "r1180": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3"
  },
  "r1181": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3"
  },
  "r1182": {
   "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"
  },
  "r1183": {
   "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"
  },
  "r1184": {
   "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"
  },
  "r1185": {
   "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"
  },
  "r1186": {
   "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"
  },
  "r1187": {
   "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"
  },
  "r1188": {
   "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"
  },
  "r1189": {
   "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"
  },
  "r1190": {
   "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"
  },
  "r1191": {
   "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"
  },
  "r1192": {
   "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"
  },
  "r1193": {
   "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"
  },
  "r1194": {
   "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"
  },
  "r1195": {
   "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"
  },
  "r1196": {
   "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"
  },
  "r1197": {
   "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"
  },
  "r1198": {
   "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"
  },
  "r1199": {
   "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"
  },
  "r1200": {
   "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"
  },
  "r1201": {
   "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"
  },
  "r1202": {
   "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"
  },
  "r1203": {
   "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"
  },
  "r1204": {
   "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"
  },
  "r1205": {
   "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"
  },
  "r1206": {
   "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"
  },
  "r1207": {
   "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"
  },
  "r1208": {
   "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"
  },
  "r1209": {
   "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"
  },
  "r1210": {
   "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"
  },
  "r1211": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r1212": {
   "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"
  },
  "r1213": {
   "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"
  },
  "r1214": {
   "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"
  },
  "r1215": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r1216": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1217": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r1218": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>112
<FILENAME>0001410578-25-000194-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001410578-25-000194-xbrl.zip
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
M(5+=Z$;P]="V@W6@7%QC?T5%(5>U'_V0W'7:4G(S58X7P5#S\+!1OA1D <6
M&2 I!^%8$'4'P4[N3J\.<P:E[4D3\_,DQ56%P7F2#M\#X8N'P>^@USBU@0MM
MV>C1+]J()NA'A]A=E-A%K1Q6(R;TD7JP8+_<?J9\*:S-BMD3NJRQ%/?GJ->3
MH@UIIB>Q;#+?DF4B'7(M.POS<#K3:&&Q%S.]IA1B: PU);,(8=TB9/^SB4UT
MHF%NG1)4WVY7.,78X;[OH0[!'J'8C[31(&":38=TR:U6&=:=:^%PZ";;!^-%
M^O76D[X(ZBXJ:,%!CWG)%>99S-6N0W*%C9.D$98*ZS2@L08H_Y!E(U!XFE_=
M0RSCYPQ^H<ZRYF!6&R9Z/2@L'O)ZD,@"'8B%P6J!V"".+$ >62F!G2X8WEO&
M/.B[5X+"D%IU06$)B0['DA!,9$/&"Q(RZO!Y[0.6+W>R4G="NO]:9RH[56KV
M^(3^U0D]M&;O373(-#WC:G*.58^.\8,1'4 MCX4U. ^FAZOQT=$.-L.3035'
M@O2P:)Y2Z$!H>#.NP6VX>E!,+[_NT&EY0*O!R2P]6DW/9'6H-3CAHSFOHT?'
MX/!5!TB#N'M-;+T>$(,#,1T@IM'Q=6'Q6BBT ?$=#J:ABG7AB'H<=+'J'0[[
M!10VCR348]8ZAK #LU'DH#;X3P^540!?!\M>(16-PR;TL+6,M>N ;!;XH ]N
MT$-E?@]SAX[A]F7-IJ0>C_HX@PX#TVW#NOU"/0I5.X4\WBGL@'B=_<&7WR<T
MVR_\,'BU!^W?Q+^Z3>A74K+R^YL/SK]>P<#4+0LS>0D%ZRZ1;K4Q7:XFE70Z
MN =%N$OVJ#NT6F]6E^-50ZE#[*+DY:KR2Y8[T/;<P"['3I]!!V').2#=K:8=
ME$U?F2^#KDB@@TKWBG@'3,N-[G* J@EU0)6$QU:\_-HAUGP;M1RM<B(=4B;O
MLW8@M=A:K3 U2HET()F\C]F!U&I'HARF*C(-4/T2<[#D=H$.JH/L4E2\L628
M30=EV^/A';CM=B[J;,02.AU\U:9B\3')#K%FNQE5SK%= AU&FD-4'2ZO_;+9
M@@I!G>C:@E=XZ*Q47KW6O'TUGRBR#0L( [XJ87<6K*V?-+Z_[]8;NBY_P@=*
M;[@(]\UP<*\\O;D/*YTB#8J[-V7>UEYZ>23SB!4+)0LNB!V>$725W$X]6JUF
M=ZZ*G="U!<6+4M']8'C;OSD?G6+\6+SQI>22_^3"62NZ<%;$$L-;_0DZ._[?
M* 7^,X=:3^B"/*LO/M!\.I%LO<$#?.&WE:"+3R<,5*0'O>]M?W#1_Q=4]?1Y
M[<8DR#ZG4<]SX9YRL3S#%VQ#7=IMG4APS,(2=H'+TX7BT0> SQ05,%%^>ACJ
MS^+"GY"S0]4*<&A:JQWHCK!2H"1-*Y77JR.LDVO-F]8)LE#W1:KST]FS=#Y:
MFPW>!H.?H@\PJ(;:KK[A)Z@7K$&)9ZVIW%AV)%2"U$R!!Q=9I>KU3_LG1-HK
M&*?N>'BM89IMIZ[%K*<@-BIH30GB DAJGR[YXQFU'>3VMEIP*3G^4!BUD^I0
MUD1J3(X_FDDM:@C>\X'V0;GHTBSX5R_.U\-/O?Z@=]&PQ2-V[]1?CF\L/\Z
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
M4C0-P&-S8L8194:E4]"& AP(%.!.,060.FT4.2\[3H%+( \$W59,T#VT),C
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
M.6JC-VZH5V<(RP?H&'7.H<$L_OU:*X-YKPO]: K-JW123<0\KHEK?NOP$71
M6_H]T-YH%^A6Q'V%'^NR)BV[#H1<;29AC79':]:P0WE"L!E%'%X-=3:RG9['
M<P6+5J]I[Y#9O>_6%$1*']"FY_GTF@QLV#WNY%Z(ED(S1!&1)>?\ZKB@J.7/
M@<91"D[IHQ.[#$X%UPJ^:2VS#MPF4YOF&->%Y_4=VM@_JGQ$,[#QAM3129V<
M@GT3J!97+?I 9%M)V^I',V%=%46W5SMX8Y/+"D^LY@'+KP1 !>>^<G:RN.OA
M;N=6\O&:Q^H9QY'.";Z/792<0A-%4:D+&\BR;-C#Z]A[4Z/LIY EJ9RHTF2A
M/X3'LZ5P9CR!+$WGE/6%B_\0GLZ609KQH*TLF3B_6LV[5NUW6?:E+USXA_!>
MMA10_DO9LF1.65UX\$7N+I14%\[6-K/[$_L>T?C[R2LB2)^YB0C((B2.1/Z5
M02_V\O4!.GI5ZGDW\VPZNY*""IPC'P'O=!:V0]A9<6#EAB'DUCM*:>? *[8]
MVI^;;H@L^J!'&$41#:JE+CL$79MB(RC5M1U7VD'73AY?!.2TL%7XJ!L+I:7N
MNK#M=6G:>MTI?+"%PNO6]/Y^A$7!I[23_+L-0M5CMT3N6M>M]G5=MS>V^CM&
MY T;2 ICI$Y\@-RH,/Y+R20Y1\C#/X0%(8DJ#)J4TH1HI5-4A5S\A^!*2\+J
M&*ZG$ZR;]-4?&BG[N%B@*0ZRW,TMS$2X65D>.7SU+ZD+:U.US9ZB/NZ!@[FN
MOG.US)_1.GGVHW6OF_2&[?@5(5<^(KJ=/)9,L7HV[6G8TE[\%C6'-5FKJ1/T
MM6--V55$&G)+D(L)>V0EJ4K1>ZXR@<O5MA(?"3?7-XWM=]?49%Z )?\V='G"
M\5%Z"Z.T]CL=^U""Y'2X(U8>@CE7@N&['-&\C?1/)=T!-P_,+=%W7 PR0M,'
MSX5O0\RA.UE^<6X)+,[K1K49:U5[\;_3ED&[.[C-E!0J3>=C\)"GG2%(DHBI
M8KMQ?7.EBK<AL]N"T4$EJ2HT$U4F6Y&M07DFR2V$M:4GD<&='4E4C-A/!9/D
MC=S"=3AZE1%U5)3<3]V2YHY<:-+!:%=&A%)!:G'NT<?I:LN]I99N<9DC%\9T
M.*K%CV8J2.VG:LDR1R[DJ>($81(H*(@Q_IC8;!)&VXER*J!XW+JS*P8)IW_=
MW_Y_C.:T^R.TI%>AK'G'FG9MB[ZU%:1=&>.YA6?8T.FY!,V]PM)S^7X1.6_
MY74R0"%H7B-A^RSMEQ'KP;FSZ4*8^\L)._$S_5=U+=:2A\EOW.]OD%$9^K>^
M+<9_WTBDJD+3U!YU)IY7J2"75+^^O^%C7I3<IN1/=1!EBJ*OH8P10_@5EEZB
MTY2<G>D"6]AA2\5;J-X<A1"K'&='6X4 !5&A)<5= G+N^*\IU3%+XCXD]HP;
MPA(I<53"S,.EZ)CM80)6\QHV#63A'B*D%%50A'F"2-F$B@)3==2-T!NR/!2N
M440WW#^Q^]KU'!>4F/0_#-.;TNV#X]#K)32',D?&!2@=A0I4A5O!#!2;F6R(
M"'NF7GIKV$KFM7R,97F&H:,QTK5N^/YD/$;3SAN,Y#EZ]A8OB QF/6QZ-'$V
M[9\S\%S8G5I4EIPA($VEA@'/Z6.B<_>ZPTV)*T4CINQ7]*F.N[H'>4%I1T=]
M>18HN@^#T>E'Q^AFUUXL;,N'U'%=@E\\5W\QT<1FGP$T- V\9!U"=&N.TD(J
MJB-\G)JT([Z47DZ"S^E_+]#P;_\/4$L#!!0    ( !QQ6%H7R#=&Q3L  )/X
M P 5    :6YO9"TR,#(T,3(S,5]D968N>&UL[7U;<]LXFNC[5IW_H,UY.+,/
M3FPE3NRNZ=F2;VGO.);7=GIVG[IH$I+0H0@-2-K6_/H#@*+$"P "O %R6#63
MMB1<OAN [X8/?_W/UZ4_>@8XA"CX]=W1^\-W(Q"XR(/!_-=W<30[.'GWGW_[
M/__VUW\_./B?L_N;D8?<> F":.1BX$3 &[W :#%Z1*N5$XR^ 8RA[X_.,/3F
M8#0Z.GQ_^O[P_<?1P<'?V!!G3DBZH&#$QAJ_/TI_.-^,AH)?1N,/XT\?QH?C
MX]&77PZ/?SG^,KK[EK;[1B";P:J&/@Q^_$+_>2+SC0B&0?C+:PA_?;>(HM4O
M'SZ\O+R\?_GX'N$YZ7YX].%_OMT\N NP= Y@$$9.X()W2:]<C]<G[*=]/GY(
MAW^7CD]^]:)MAVSCXP_)C]NFM"\/F*/3T],/[%?2-(2_A RH&^0Z$6-/)3 C
M80OZZ2!M=D"_.C@:'WP\>O\:>BE<);"J,8:2]EM:_NW?1J.$)QCYX![,1@S'
M7Z+U"OSZ+H3+E4\'9=\M,)C]^@X&R"- CC\=C1,0_^]#1.2#"MXY"D+D0X^*
MR_;+<#I[B)#[8X%\C\CRY3]C&*W?C>ATW^^O<S#"@(SM1(35(9J#X+V+EA]H
MNP^U9OC0!FX7,'1]%,88L"FF*\KM\-%Y\D&HB81\J):AO0"ABR&;8CH[BT,8
M@#"<!-Y#O%PZ>$TH!N<!6:ZN$T03UT5Q$)%MY3*,X))0E;:\(W1V(0@O0.1
MOSZR'4#2,JWN,%H!'*W)5%1V5E2F>-\UI83V/#W@.?$\2%GC^-?!#.$EV\VZ
M0%0^4<N8?D7(>R&G'0'@.B ;W1R2138)0Q"%$Y= %#)0[H%/]Y%BBZ;8MS-Y
M?Q3I$-^NL+DF:M 2/#JOS;<GWE M0SLEB\&AF]H-($=T8XA%PW4+]14,B,(
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
M931&U?/W'^'E )P+[ H +8C\7S\4*'9#/K(?.-]O@,KA]/+R\AX& 2+'AW,
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
M."TKA57(JRKD?A(NYH^'S^.3+Q8]']X%9[D(FV'V!<3$1$=86.6OV,#T2==
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
MB;;M$C"<.3A;WQ$5/BB6*ZL]BBT!F%K\KXVU989W%?*;''@'8QH'FBQ17!*
M9D/9$O3H=!?@HVZ-Q4HM;@P65$UY!C<H#(EE[3MA"&<P.<;"*T*KB>O&R]AW
MZ/T&>D&HU$O;K/U8-FMS@X[(UR&S=0O@C"CO1LX.H!&B$(W<<F^3!K"48M=$
M4):,;C+35V\($W&,B,!&#ZK=;1D4T+P'B>5;T<<N\[<.$W/Q!#FRYH^  EQ2
MLTK0UB*;5TD><WY*/DIO@"]Y$_!D?')BF:7;#J^X:)IGG\*^(;=ZU?O;8@%+
M)39G_*KC9A4C+RAM@7<& O)'Q-Z<F'A_QF%$A5B5FTJ#V&(<U6&I$H)6\?4K
M08H>XK<@.G?"Q96/7GX#WAPD1ILJ8]5&L<7@J<-9-0RM8NTC)N*7O$BJOU2E
MG6U)NJK#2"EB5O%/IG-7N2#UAS'KB:R+MN;1FC%7]O6M&YKPMT"^M[T.*K0T
MRPUM.5K;X#8//\L\C#+<SL ,T82)@GN''"_3V:/S*F!JHQ%M.7[;X'XC0O22
M/,T2>MJ3@);&M.7D;B(#+9'"LLVB"&FEWSE!]3S&5 %-,L,J=H]VI[ E%[J-
M[:1=RE@3W7A(M)=[L$(XHN&7P#M' 0W,X60U:,<M/I7C%IM)1CB=9>0$WLC-
MS6-+2> "/3)%B\_6FQ\5B_^JCV0R,G$6AT3LPW #D5)D@M_'KLA$ Y9R Q1\
MG,T?"AMXY'4.\FUL#$C(Q##'CSPJ>TC_K$?^]) ^;_S1TL!#+9YPT>M*@[[P
M)*\V9WZT)0; %9:MPIH!N"N"/:S)O^!53+1" UO< 7+"%8#NK-[G'/I$9Y-4
M]<PWL,6:EA.O +0U.RKOO*[R::IU-5QT0P,]05D-=85F3UV8DS $I2H8Q1\M
MVYNT&9KB89F7X2M"W@ND<LRE_NYGR[8W;?KO,-D?:_P!S@/F@@BBQ+^P5=9J
MV.GC.G;Z0;@#8009#*,P!6(PX@<C?C#B!R/^)S/BCRS.'FS!B#]J*6MP,.('
M(WXPX@<C?C#B?PHC_AX\@R &-%#*RGPX;O0/&"W.XS B1@.^?'7]F!:"HG8P
M^9\GBTK7&,FR74];5&HA;9DOX0)BX$93HO<[%'5:L$:TZOE-+=M]M9G(Q\HR
M+GW%* SO,)I!T>W57 M;$H1J^WVRR%C&B@? KL9^!0&1&'\2>!-O2>@;,N_+
M,[A\I<6?A&X+Q<ZVI.74/D05\;2,M]M=8)=Q),KAY+6TIII?3:YQD;*,1>F5
M] 3$C2#=H@"EL-\"T1:IUM6:JG8UF:B&I75<304N5:9@$+-JW6#CU$XR09-V
M1(\"X>4KV4P("6'@X#6C!K]V@5 8.IRQ=QDZ:5N&.B3._H1R;E POR''E9?$
M 6O$;S[6RK,\&-&9#WPZ]<AA<UL2MME8/$PL",<!)EQ+S9V0T*] ,;4(3KU!
MV]JE0AQE:$ ^[? G'W9>VJ\ S;&S6D"7*#3EX$U%6UN#-DT82G>,"K0[.EFJ
M>)8LLBPXW+A!15L+XC=*$KCE@QB5/>9#/M#Q:7QR^MF..$X[O.&BURZ[0N"^
MGZ/G#RXMVX37"<<V'W8,VWSQQ_>' G>R/Y@.\"A)%:5Y%FB3U#R?"*A)?S#M
M_]2F)@7:)#6_G@FH27\P[8C4IB8%VB0U[WX34)/^8-J%J$U-"K1):E[?"JA)
M?S#MS].F)@7:)#5O_BZ@)OW!M)]-FYH4Z&ZH&48KG)"2_I51O\BG/ZYOBHI6
M^JUI)Y<R!;<0FQ3&BTN!,-(?3/MZM(61 MU5ZL85P@#.@W,V%022K"%1R][)
M>5J3G%(LS'M4-0W[DCN0']^O,9SIXMC-R,#/#*GG-=G3)!'JQTVNR$OO?)2;
MF39ONI"!,I;[X\Y.Z7"VWNUL]V!.?JKAV?Y4T[.= C%Z6H_F6S!(+PJ')5[N
MO;Z<\'/[LVM=0AB<V(,3NT\G]N?QR>GAVW5B;] ;G-AOQ8EME]NUJ1/;M-OU
MMNB5R?ZP=T[L6\.^&;L"+$V=V*T$6 2^&5;_[ [#P(4K8CFO+V.,5OP:[@KM
M]\:CK8"+>6_-<!=GN(LSW,6Q[RZ.-;Z;W7.+&8+4<-L<UW3;[.8?P1T @[^F
M<_/SF_,GPCMO)=]1PVOTYCPT/"3-N 1NG25!) >/T"4@:6N):T8L82GE)3CL
M,0/R3HN3\<GIB3T^F09,X>+5=<!W T%UO+?0T 9?3*4TE<*]!20ZL]@"<.Y#
M('COA=_$M!ZG1] 2^/U4]7]!570M-;'!,:-.UQ+XG9&2_+IAH239@]?*!M^,
M!D$Y&'1%TRK9-"R8'$>,.AU;ELI:VL.]$\R!0)/._&9(@1;9Q<T5Z QN!@G/
ME>O2KY;HQB51R='2 C%6H69>(3P=GYR<VJ/HJE"8BX 9HG\C=%K&2R'9"[_;
MH-YRY&1K4N>A->\'SSF][F'XXVQ]!@)WL73P#TG%S.INAC9S4:V:=HIF5J-M
M(T=3"*6E'*N[67!"Z$JMG'=%!-\L[ZP]C[KD9Y]GF(X3W?%!FAAZ"^0/RPK:
MFC[C=*4U%V#DHV2>+Q.7I000V%P G^D!4/7FKZ"Y:7]0$^Z(L3+/(,X>\4BF
MTU-2=CT,Z2>BNFV=Z2<[C"UD(05.[V3+]K!;(2D*IY1/6;3>&)]RY_#1H7UE
MP=OC'1=5"]BY\1"6()>><)6]K%5#RM*:XU\57H:RWO?ZFHBHFN5P362X)F(S
M'_([-GW4X>W6.DK1&ZZ)V'M-I.9UX>_\4#"WA6G[5)G*7.C-DWO('/_I,\=O
M8RJ,M"H!19&BDKXD)%J D@ZFUV-3QLMPLZSH\;;<]@UP0G /YXMH.OL> E99
M0,"ZBCZFLY2:<J\"O5ZRPU()2E)5> DXQ1:F4YGJ4IV+C&6+I&07WQ&KCWSA
MS,&18(W(NYC.EVJZ1.3867.C95="G,#WL' P:.<*RW'Y3=1DJM%?R!?A?XS(
M#C)B\W5R:T7TWMM6W;AT<$"XN<7ZS FA.PF\"^C'$;UV5+Z&4FL$$S&I(((>
M!0(^DT/5C8F<05KXG=ZL EYR\VJYBB-&9 X>:_X DI!)IS/:<4&F@?CD0F5=
M4LK\*<"'CJ:=2N, U=TL\'OUN+RJ)29+FS?+]KP?ZJ-]"2B6B0*77N:EXW*Y
M\M$:@(<(N3^F#!*IWTG2WK2O3U?@L]R3H&6>1Y,7!WL5B1&%-G;DW;=U+N=Q
M,\^0%'K@T2V$T,!)B(MIEC#SDYRM=VWNG#7]CF&Q0R7P[GPGJ-R&NYG*IA.;
M)]PY+V0G%!B$J.%4^?/LT_CTT+(<$"."Q:6*>5F[!V&$H4LV67; ?2=L">\?
MODM/^HH^MISV72ZC?&T4*3ED/#89 >B).G;K3\TL@9(GL5T'RXTM8<*VR;3U
MCNMJ@'L:0FQ(O\F2IB!T(V/IV+9L2UV(6LNDLBZ$LURB@&VOY\X*1H[/H W)
ML03P,\$+X:LXHC&#,(R=P!65::HQCBWQT"Z%I@99+!.0Z\#%;&=T_ TR#(%)
M1+26IY@%\1]1^:C/: ("B6EC8%N"NUV*4!MTLB;R> $P?&;/S(=7#L2_.WY,
MCN_=M]<!T89C!K5V]/%S.?J8F8Y\HC..GNF4(S0;>=O?1G WJ]&J>5N2A!G
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
M+U&R-QU*'6'A],&+.54_G !!],6#LO;"(T"LAC3[AP*^0%&)) ;$4"P0Z^4
MKEBC\+ND_\ U.*S*W91/.+]_RO+R >?;R_09%R4]K)G.^Y;Q<*K5R82J3L;!
M("K404UK&;'QB &<4 BD@ #?"'Q984-129F(Z\'H!&44$?#):[FD]06+.[S$
M1%')A?P:E_KT)3<0P'.8 RN-XYAE/,RIK).@]N%,@* :AFPK:[+6T&F29"^T
M&15:TQ#B'*_B$EUE17V4FUB-E*Y$H[.;*^RF>&).7$ZBX_%"ZV=$C6^WY-\N
M(=\. ^^BMSG>1?'JXG6'TP*3(P*SA8USN$%"3I!PQL.#,=6&.("!F!)GNEK+
M4D B <I.<GPO%OZ-68R'@\H-9Q%ST(+QR/9BM&S<$@-RBKC<@(-Q@G0Z/^"=
M'F[.CEGN8]T;I0/AC,Z@EN]MGNUP7K[=$CI+HI[T(KFC)U^R,QI5V@8"N3ET
ML]+<%<SC@;:#+H(T1I*#+! #XEVP)-@"$<!YE*/K,C: -<83KGFR'23G\5$0
MLB):Q^(*1P6^BS=/Y<WZ,]G<J#J;+J-V&$!?A0LS#7^%#0#&9]%-4=MO(6$0
M UH@!G:2K4\((#]#0;LO>G!5,;$O\ G;74)0E_K =TW6H_6@9!@+[,HS$=]R
MXQT.A'/AZ2DQN._$E:$>#7YK\.<AA+/4.5YC0NF*]@C9XH?H57!@W!5L '!K
MOIL-=>&;1X.L_BYRVED/ @!Q"-:50]XOKL%W@?[LQ)R=,GK%10"[P&5:$C+C
MQP17'%R\+I,]S6G]*<M6+W%BDH$;*)R^^+"F:HX+'(@.N1/66GXU*#JXI(/O
M*:-P%8(J=:A+""IA6_:@2[OC0\L_3[M8=[*_J6VY=E#Z,4K8R\,).L=+3*NV
MH^\_+!!=+',0?U]&>3D*^?\>I7M:3706XCOWVR#6AX,Q&TKGC*YQJ[L4WAEN
M]H(#NK\[_-XA>/2LA'(_=\>=;$ZW_! Z9]&5JSAZC).XC'%QFJY8^9>G+%F1
MKT!=I>5;1[BM.SB<OOFRJ&JD*RR(SOH1UV[ 4H-7_OOR+:0(WJ$,7IY^O+RZ
M?+B\N"=WZIOKD[.;ZX>[FZNKR^N?T.7UP\7=Q?W#/3J]/D?W#S=G__'7FZOS
MB[O[/Z"+__Q\^?!?P2BF6^2[#2 (Y7.(@3>/AE8PMS!R!2#(D'AOAB0/20T(
M'!PO Z-NHS<:%.46C'@X&#X,44^^+@"Q.1(T]%!'BCER38P.QA'3CXL='PV^
MZ/,]7K75U\RJ:3SHTK<S<;#Z]8.A%,!&C6[UT/%(/6(%I :]>)'Q<+":<+'=
M)=D;QG<XB4H/C7" @],,9Z94#>D$ M$41ZK:=28%'!* 0:I.7^:D"A51$N7L
M;/@2;<2M*Q?\/N(4KV-H=\!9EK+CX*]Q^72V+\ILBW/)YIM=P]Q  1,//5AK
MY!TZP,&D'3H3UC[6"U#T$M,>!0)X42G=VTS/9TXO$@/XE.[^J$3E$T:81G*O
M$9\UB.>*\7A[Q)LX36EDV4P<=GIJ!_!611/D^!FG>^A#QP,-9G"Z<&I'PMD\
M"^&JB=,, [%H1CK:#G0Z4MXPYPW(=S@GN/,A@G_J%!,6-S-HM<=IMF)+^,-W
MWW]@RYC^1A9VOJ6M\++T9GV5I1N:H'KSF,0;5O+M\,7,'6S^!>[+$EWMKC"3
M+?V5*'2KJV?H1UQ;'\@.(-,[=AR<[@,)07#"4HNS&@7] ]\-:6GW]]-JBT[=
M!_(J?9("%-VL$07F>> *.-#V-Y"[*UP4/U:^XZYO"6;JAG*I79@GAVLXI(0+
MQVM0%U H*1<N5Q\[1 !)%X['R5;6Q=SW',^L"V^V$@I5/=*\>2C27$>B7@R>
MA60-G%V-8?D6W9R)@7@/G3UJNH?6,-)QG5EHYN0J#ZR!)9,H#'EDE!Q"!916
MHF?(FEO2! DCP41'DU.624-W)D\U<=@;!K(V;L:)X?I<IX/YWJ!=(8$NT7Z,
M5?=H-S"XJ[0/?=K;=)JE)\=UHQ[$<@T<]+UZ$(_:2V=552F4$_,(RY>>+* +
M*NK/^]V9V-UPP=V@.S*TNX!"ND=W9SU;KM)S)7+WO4U[,'=PH0[.2 SEM#:%
MH=VMNZ]5@=RF.Z[1T/?G[HMS.!=EZPTYF)LQ;9$<\^JLM/IQEE*]P^G2O&BM
M$)"1,)V,- -@C,.!XEXZZ-&$NU00O-:V"C/Q<=VEGO9@AI8J#*R6W.$5QEM6
MXY2L1!H"DB4$_^8R)=L-+DJ>N2-+A9]N:92U02[]4,'IU1#6587K@P=$$_L3
MVBXA5:%"35Q((EN(!+5%716?8PPC+W5$65Q3UX,B@5B@ -9L[^30,--!_1)
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
MF6$ILYS*;"DJ3- B+U)V[!^X1@EKOP9)@S<*;0>#+I,]O7^H<N<2,GRHN8F
MLWHPXE8-XKP4@-A*"!:U?NV%QE J+<$J<WKXNP8 )TA?!JLBZ\!6<\J CX!!
M?(9K7JN=BR[^,LWP%/(_6B,YNLT[/A,VK46:UJKLF-Y?I%8'SU32T1J&!<(T
M566-WG T<8LWSOQ]&>5E0.P_XDV<IG23Z1+"/,7H][L=]V-'":6:]AV[3-=9
MOF67CJYN<*[0@.7J_1ALU*]W X4I:.]#6[LLO +-31*%1PJ"D*(C1N1U%1?+
M)"MHC##5OZ4,ER"'F0K?L/B(.,U63,T^?/?]!Z9J]#=_^X68O2SG#CN\NL_6
MY4N4XZMXR4I-B-#GP] '+\CY5:P'8U2]/, F4ZU5MMRS):%Y />FK]VQX G3
M_BE[_@R22G_%,\,IW*[TJ5!@18E BR*!]_VT.J<S+,.YYL!(0B,)CB2\3$B
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
MS>>WGLB GN4&4:MYR.+X%DC!N!#] #A2)+$&&C<XMDA$/;WX'W@EA4+^)?$
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
MPI0E.Q3H'8$KOD:_<5CH?6 \QJ9EY!GGCQDX*_.4JR047D=;?/H:%P96FT,
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
M127,D ]V/;^ZWP90S[! ZAS0SZ)32ZE^![&L#JA]X1R3Z5>,&:(R S<# [*
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
M[V4C;-CUWFCJ_>_[/"Y6\9*>':PKOQ,*3@<<&5*UH0,$1"^<:#+T7*];S:N
MH>C) ,Y@546>LQUV!OU0.*6PD:YJ@FX<R/(W$V*\S=!-(<3UWH,5>N7_;X65
M"=9]D9?*FB<_U>N=_/"WLRPMLB1>T=OJ15KRG/?V1<P^=/[U[D(Z7>^V<;.N
M]VY"-.44ZN%(CI_N!M9CH6CO75V#PUDL[3N7?600"\9ZWS(LF3$N7 ;7_%F4
M1JLX2N_WCT5,_I&3";4[9N=H((=Y-P.5[]L\%,Z-W463)D1N1PAA15IHB%^<
MKK-\6R6[2W2H4/!!.9B]>:NH5R&@CP<#65$_Q!0*_!,FGY\V(.$9'/\1IYM5
MMG539W=8(.7V9:Y2=5= .,7WH]#3#'#D['XI$GL$_B#LPD#6S<P%9S8FXW1J
MJW*Z8>GN9M-Q, #(/FC)K(Q XZ]PFJXAH^UH+U%>:[2JS3L> T_?1,L,"5RH
MP!LZ)Y0&N[ D20U!#SWHA75=M0O$'F9WGST1HO%ERB,3#*X,?S1P+J^^+*ON
M,%\<(*ZR?D1:2@-7>!:H76U!"6!])\,1OF8EPO:3=X+O\K2-)(F*09HBQ.J;
M!%=8W;MW7IBM\OPZXP76",^[!QQ<B[M.S1G 2_"][,R\D0/S?^-E^9!=O.[B
M7'?0&@MI0,6">HFC9X-*#<8P2@WU('EX&\L%$LCIB;M&#QVV,(5LKF^NFC:!
MWBPEZ[B;]= LQ7563F(L3'B/PE[8A=+39.B1AFXU;%2/83AH7[LC-QY>(NIJ
MN\E:X 5H4CZGJ[C@M:KQZB+*J7^EN%F+=WW506<0J \"R,PP7S:;"6&NT$!Y
M8'[D:5(3% 1(8J#^<QG?<>_B9IU'@P=S*WE27<>T^KK-'3#3]OY87J:$-^9&
M?: %XXU63#,2<@LV$M[<5%O#@+9) QWM&+[E$U[M$TQ5X2I+-R=D=6X1A4<U
M@@+]QG! QX$WN+J*4WQ9XJVY@K1A="BKJ,6 >2550P-830>T:(Y2C;6#?J,
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
M*L&6QV<6%%ZOB79QOD82IP'W\1@'JW"&V <MXJ,P$1;*_:U$C>'(#(6/%,B
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
M2X.@=3]23;;)- #.BXA3HU;H*\;\H993TTB[1Y!Z9ZNI2]=J]RX@R'OFYUQ
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
MVX)F2[+5V9!-FQU;16FI:4R3.%MX=5+GHD_2$7(%0AA@0VL8&[6F2XCK>GR
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
MA BV/*NHX*=7U4JA\7#_ .*GI''B6_$X*WZ_?6K3XF1_Q'&R1]V/4N)&[W@
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
M-4ISLY3]QGM];X?/ZC[5!ZE8R%K4")!KA(Y1$GG)72_79)5O'U"2U8CUX)'
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
MDVP065RDG$6=&5^#6GYP$F\04E7B8J0;L4'5'$W*%!CTO6@T<X2Q"3'\)<&
MHD2-\6VM 0D.FN'0XCY9%G-,6HS4!GPR!0Z]B;:**G%F25K&S$AB,8#P(<:
MM.<E4Q$;C0@?0C$&M28Y>:*52B;ZAG:WH;>!_CR7/B#+6!,^8Y^A,G;[[MY,
MA*M!7,E2I9O+"HXA@WTC7F3I9!TO$!W_ =(?@]/ZV<]IT"\[%5C_.^*=HOW1
M5@R$[X0'&6DOZ[=_ 3=^#9*)_1B23=IDA8;NPL3]BDSTU.[]C#^JT^R2FMY/
MN"KGH(+[A\%JY&IB/35A!FC]["?$^V6G@BVX;KQO+<%(24 7U/-QZ[>?7%:^
M!K'CY;_'/K0/0?Q/$#\#-YC[C)V(LOZ* CM# K,OF@8=__VR5=)[_:(E93<3
M3NV:"<F#S]L@3#_"Y6CY0OL=Q.><T<QK54_K^WS ] RF8)EL)&</F"%^C$IX
M269A@/J)A5\PC0\.RR^8=KW@!(9^X']Q=QV-8-I3EQ=,U,--$WF4-TC"M;7<
M4DP!6&+;)AJ<6QW<Y>8>S!WOAB0I8CTA$F_(*-W34M+%^P@I'!C\4Y]+QW-\
MK$T!B.]Q#UAZ]!MW6G&CX"%9QE7P"''!2H@PK]?I%8R$B9 T^<# H';P<-@]
M1GYRX/3.OW)6$.VRF%?ES#J# 05#JC6>.,(DV^&WU:1T[QMNM;GK%WEXCGAH
M0!YX94M.-[:8_#*AGI[=[@X=SUPLQ3FXW#P1 =3MW,5;&21^V&(NW25(XHF%
M%[E-;$Y?B3AAB"^^)\M@74%=EZ:LAIYTQO1RL=JG"08;I$*PP/'UW\%]$$7/
MP/6<*((SF&PTHELDF8GKKI=K$O2"/$FLU!*VTQQ5[32%1D?HXX@8;TK#&6&D
MC)S=@$8!'M'(K=;6&9.F0,P=PMP2/(#X<?;J?#0$GN&JJ6.OS<) ,DZ,!):I
M1Z0)(_62@%0+^^^N=%N6W@+)C)CC=P\@ Q^[4#*,/<PZ1F*EL]!KKJJ%F<
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
MBI>:DY.#,C6%KD:XK]&NLY'C3T=9=Z-\?XC,5&[XGS=T,/CO_Q]02P,$%
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
M*]!>TE!K$5I6"UH0F.(8M7_,];6"L]*LNB),"\S23<K,)!<IAG8?]E4$<!
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
M7.@B'Z$H)1$V1&[*0=Q/Q6;S#HP:7;>82RXD<5B@O\I!A!Z!NR4=;JJU15L
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
M< X5W8!2!XIC35?TD=N21^.U==RH+/-B.K,83-6%WNZF$D[)"F]FX)MJDKP
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
MX' (28A9\RNPX"]E;(9K"'58DYFZ0F'?=0NC&TMI)S6)BM&Q[X,?ZW0.8 X
MZC927RK0)9M[WYDXU;UJX[L>$RR'3Q[_P O?K)+D.QG.0$%:=HMNAK*I>A%[
M XT-<"-$:B2U1"(S!HXDV_Z\PD(:)][+&5+69@L5@607@D\P%;N%&X2,O7)B
MF_8V.">EK[R-3OUQ=H0F*H[DI?9XG_G;HT.%[)JB1Z)NFG!=X1.++]/$&Z8Z
M1NE<UAU+<0.,/C7JOIV7#[7%@CLI\K+6ME6;QTO(KA>65\!HRR1K"';?@/?-
MP13.B_>-=$=F)J5WL,Z?-\G"+M&PJB $I"--X]' AC0"0MXB-L+UZTTY+/9$
MG>P](NFFN);L"2T-APZ0%(L, %8^6#U!S?+$(=X=1*](:L)Z]&WR78O'AS6G
M3&M[F]%$JG*.J7T]!5\A;G.;OVL9HZ\8.A=A$,LAPKUP2?3ZG2UK#!4E,%BH
M[_MR W>V<)#(^O%$;M2G>V9MO);'#EE&LQ.\,72J775ZG\Q-[G,3(=\\)??_
M31NJ#^@3'U !HQ$B,TR'JG<Z90X4!S[#[:)WC-$B)UK&N(PD(F"RA3K$^@OU
M])2J^^Y)&-U3=**B6U@^& @#03*@]W;?F1GTJNQH/H%':>_:NA\D]>!_^\2<
M)[O^J*&CR1ZM=M$?0MLWGH5N.R>8K<6@/6B##%^/SY3$0EU)41-IG^W+F31'
MC4@ZN4-/5H'RC<*W$2(LT;N,D+:$^E#@A"CM$3[;FO!I]6X*IVJL5@(QS>+$
M*.K:[\8B'3SD@@:QV?**#K8S%#+WT;:^JJ2J]"P5S_:+U;A5Z*>__8G1],\X
ME_J9C"8#,@X6_>>=MF??@Z3\BW<0$>B.37P7XL2,D9)Z@C36A+5]/O8G];^O
M:(9"-JM'CR01&GV:AP/3 4B', E" G%" 0<2@#<#(9852K5ES9"F:J(U*N5
M+FZ(Z2-H@!68!*:!N""Y=^,.$W-S/,>7Y;0;A9.LT-RF@5(M_T3V&5DY67B;
MS+&^@=L66;B+8F9>JG%NM\* >:7 M,;Q*B*+*/.33:5^)MC'5/&)M]GOO</I
MP34+]6SWAJ]UVE2IEJVW&O56NL/GJ,P=U>+S?(NO9?E/O7>G@5TV/X5C-R]R
M3;A!HL<<YU3I2W=C?J^3&PFI>C?\4C<0$N\,=4A0/D: P#83MN$V=>$]PPNY
M L@S068:UO EU*E%,?1/AOG)L#^9*'%AF1CNJ0%,V[_:J%1:IWWE$4G[-@$=
MJ9PH@^,)*$:Y R-*FW:?5[[MD'GB&[(>$>^'SC+(&%F? ]X\\L[VV@]."D>O
M,!>^[3#P:>$@R9:A !<+*C^_YJU P1?>1OSD@4.#F/012]C)%<#__J_MC(,!
M$*<C4W<TZ<&-O:("@8D&LL=!_A!+T#="CA=): !#Q$'70%D U_*CTLGD%1L+
M3G]?K[$3Q4B-7R63_T-M_MRD,6S-!J<H;64Z[*0@>5_M)B'YSU[(JO"9%5,0
MRUQQC[(IWH?8'^'G@6Z)TAOE JBQB77QOSKU[)-(QW\C6D/*7=GIV'^$;!:2
M"(9D9M;+Z-ID>H)MM&]!80NA.T7*&/IJ0X8^7#</=_'Q"-#>2V1GB-]Q"^K_
M(*V!O_SQ,+%E&Y/,XVPR[]&>[@,\^37E!G$FP<4'M#!(L9(0$[F8D$HD1.3-
M24Q\"*$($D&EN%/IC</+[@17^&%+X1TOXSMZ7EC+4EC!?N"<"!LP]&$V5G"Q
M^AV^3)TG^Q/!/>#4[A7@ZVJ#'C.% ^^==*;*X^M3L_5:!YN*[PSG_5KC=04:
MB\HT%>.89)+E3E@)<4^*Z9O*'3+,573O5<M(M\1\0B-_O9]X/QK@AV[M)IDK
M9N_Q[ M87V+_1<FG6]TQK-Q -L_;BZ)]D>NG('1M8372K4Y)X!),@DD^0O1>
M.VN->M.F2A[RP0G)_)57;?HTM;'=K_\EBA .AQ^.AAV[+G&UOI39]ZDCWJ,]
MJ,&Q 2;(=1,P!<:?+D_THC6,>Z*8JT<V\.MH. 3P/#FD@DY>!RK//=^F[!#
MZE%>Z [P8F<EKH_GHW1+MJ9Y(-JZ:0EQAHYRB6-X*7TL,X6)<]X--K@?RN_H
M6 X*%[LP\:/X)03BX!U445<SH:4K<RBU;3 <XBT.'%H1HHDHPR:/8:?,I>NF
M4X!NTR=%.J6"7B]>>;&)L])>SU%&-NL.\.V#7K%*@>/HU%&**7M)BNG]@+/3
MT66IIB.9(03,?K1J8ANF;N!U0DO@HBDZ$3V"A=C+UD7O!:M--Y>O;E)GI6Z.
M9J=H%8Z @A",D(%[LH1$(D%S\2.8*GI!:NE]P4,ZH[9ZNS#M=!SOA$ V',U.
ML1M9@VTPA+:;DRV<)^G@G#4F@6S_8P)ZL<M65"< &^Z1\KJDMOK\4F#A4F O
MI/R\)<DGW,KF=;LU)8%AZ422?N-VS6OV:\*N7=Z/./Y2W13W<O&'NKE)@K6\
MW&5^YB#(M:!RA(J*7[:*.AWT_",2.-?XB>QD/ZW>&^,G:J&0Y.*MU&/J!A^#
MQ1G(FD1Y);RIAF.*8V!Y"?O>MUNU9R]>"4;I,U:".V3'M2#Z9@XE(9E,T"GN
M[0S*79!;]CY0^7^#7OZ_R_+#CJ3^$'#WT;HN<;,N V!AZ]^Q+%G7D(!,^^=G
M]6'^"%V7N&Q==SKHW3RNSK 9@"BP]-8!Y_SZ1'Q6UR2O' =N@_C64;PC^74#
M>@=:_P*EQIR54CN>A]--?+Y<MDD"/,([^JGXOP*/_A@>OJ2\CM/!:KM?PGQ;
M/6\'5B@PT!T[..^+LT,N2ZG&HG^]4DVNY7%[7:D"443;,0R%_ *F>P1#)B];
MJ9X.>ALUN>F9L.I.W^2J@HM7DD>RZ=GQ9"I+*H19F 0D)([!R(0>!> 296E2
M3.H(GDQ=D(X\':C\CO$A;\QV.WU[I>*\WFU "DEIP4]\C!Q_L&'@C4*EM@!/
M?>G/$ B>XWDUC4^HFKJ"Y3[9!9;(-E<BQB2/2E%.'6W*A@"\'PRXH$?"@)L^
MOQ3D^2O(RSOBM8<W>%Q<AT0_].%&<SSFE;=QR*9W'&C9TDPG8IV+XI,0R(&/
M9HK0+7G-)UOA3*^(CW=1H*Z5_)*O/D6_6TS3+Q746A>K#08*>,>K+;NQ^]8W
M%QYM]84 "R\PUE]V'"V5J>.*D++F%2C#M1?95(*FC]C*HU)''Z()"6>> $"D
M,\1PZ]XN3"\=QSXA$ _A-.E" )@]/((KPS+T(,YT3( GT5" 9@GQ!,/$WGB:
M#/=(X2XC#.5W2I%>+]_[^=N43[:H*[B+O&XB(M"\BKTRM(* U$"!Q^BALSN"
M]NJK-#X(G%ON50N.@$EXTA^%*CNF;$FR7RR<U 9OF'".*U26-,OPJXA_Z;DO
M/7<6>NZ5*= E(<;%.3;QUASHXY*@PP6OE_*B3YP&?0XLM'NLF,[)^)8%W;3X
MX)J#NG_+ ="D+*[6>\P1;/K<]-^GP&K=[T]JW3,5=$VBB-F@;#)5P)$1'!:!
M%Z;/OJJ*,,P:^]FMJTJ$>)1AH\><.&6.K]$3 OA^,.0VG+C=Y>5[@,?QX?DQ
M'>N?^W#K"PV)V[%LZ,,L6B60M0S4(!+"\C&L=W0)A3"QV<E@%?1+K3LF!:N]
MKJF@;Z#X[XE.W.PK^$G/>T_^?&G*2].449\T"-*Q<X\H!AMA/A%T3'!,5A=S
M=(F&$ #Y4\ 7<.Q.QSOLB?NVO.M;D+GKI8-YUB]50N@W\/VB[V#<A@ !7WIV
MA^9B#5/61-D RE:R7QY"DN0+S3ER=HYAV:,K0(2)/T\&JW6_6QF7ZUUY/("7
M%^T-\:4W0Z8W/[T81 A@\+K@:$]@DS$NEGIC;+3W%X5&CR*AOT*#Q?GE&$$$
M2>)')U7:XAA*SE%[A<S1!2+"I,%.!JN@WP<' ]:]4T'WEZ:]N'/77L<S((>O
M(F+H2MM143-72'(Q.I$ZAN>.+OH0 KA^%,36]T!1?F^7[Z,=QW-GQ6#M4J&6
M[G1;?%M@N03#L6\,Y"%( /OUZ>XA4V;OGF<0>O7RL'+R+Y*L\Y&7D.)V(;D9
M];RFL7UMY[.W. 97I^*A3G&OY5[?C UHVO\O&I)]./6ONT:_[AHE #G3NT:C
M*9AD8$(2XF X%&)@,! &42XFQ&(TG4B*4A0.Q&\>(+PO'EPW]GZ743Y"^3O=
MM$FZD:"H>Q6%'G#FP[?X\N)KQ,#0Q'\]>NW1$KFB&8=;$"R"V]/>3; >!8<L
M</ \<6&(FFX_R#I=H#\C55V?XM^;HA*GN1SUJ3S<!S>0/T*B_ 3?RC;J3]S)
MI25'\LE5ZH].9&VL_>^D =8[+/W;:T!^,+]_4/@&3[S?(_K[/D,?-HH/&VM3
M< .?\R>C04J%0)/]*^*]Y%R*9?C@"OI-'4:*7XJD= "5%FW\FDE%8S\I@)Q_
M%>\323_]<+7?1R+]1!^;3Z/;GUY1G3&TX',SEC51<23XDTP=%^]19)54]M&U
MG]OM$!#0^KT5.2:EKTMN_:00O6NZ*HL4>D8.W*"6/ZGA.FPA!G6[?E(2G$-%
M-T@U$H4R3'UD I6"2R0^U\6_ E%$^8 <08V,-4<0*E&6'[:G5%)DZ(KJ(XUG
M498CCO'"?0RBGB<(8#]]' :/!U"1T0P>/D;C/]%8!-JC1SJNU^ \ZD#4'45Z
M^%#&RN'14Q6X#Q]9XZ<^7\B*\O 9KL*$=S;L1S- +(,,\<?/#1/BG/&'CQ5Y
M"I5'$X&(!]6G.E$>@\+0L>I#Z'W\PD(&G;+IQ+^X6$.R!2,1YZY#$^I#CZYU
M<E++0D2G !-3 F)8BZ2X>WA7%!<I$CS4T'V&CJ_^^26_IU@]I6AZD2>!":D!
ML*"$993Z^&0I8GL31P$]N@W8$%B6HQK>\0 ,V0";WB_<I^4,,%=0MDX!2G/(
MW=%(:IBR-?4:.9HOX[!0^>G+!C2YIZ6#K!I 1-,U224^O(:AJ:MHSB,=_QA!
MW4":CSB(6 8,T>KM[5ZI ;07$&I4"Y?^ V0&W:F)AD?BHPA48/DKIH!M(UN9
M B/TSK*IDF4"J)#VF+*@9CFXNV ,\@*-@DQE#,.QC@"A>'(R&+$(5P-\=?/8
MKY>[[J]D FWKV6_4#R)9.Y"5%")2)*D1/XP<A!5*U26H6+^]XQA8.I@$(HC)
MT5 44KXJDH(X(V#@(JQ9R#&!)FKNBR>,8!-]IB*8XA]S77%4KUSO0C>GI!M-
MMRF,11.Q&J).]*UL0&QL(!&,M92C>2O#<PY&H*1U.46DDL8R$HU/=(66@PB!
M#*2;/BT]GL1O F(B+^2QKDOX>2 &I6UY'F@E3RXC/!L !P<<!#'$PAKB/$*4
M:'HCC*QU,P(ZK%+6DMURR,J\D8'G&Y*/L4A$W^+[.O%H^*,U4#W58>K>21BD
M*S9OT"HAR7-$7.5?]TEAD>:?HAGAUH@'(&YHPIDCFSX?XFK,VS/[':P<+P 9
MRC+6=)A'?7Q&/*8E(/655TX>8;XG=;>H-@*MQY_?<[GV#]3O:)W9A1L;)F)8
M$\DK1/ 1O%C*"S/AQ1(%MZ&PX), /![PK0?+1L+?P;H8$2G"/Z8U/&,EF"^F
MQ$",HPD'?9$/$8!$N&[H00K+$$2MA@)M;)9XG7E$[(TD_2;P0HL+UK:66>2H
MD@,].P*O(E#QP),IJ)N-1-IB%=S?.F/&Q<#V+U3'<YLCS6 2OL3-TB-O_O[0
M'OUXI[/<]3RV%@G$,;8&UE/#,$7^^,(>4S9F<PP?2<89ZDB\N7@4K-)'>.I^
MS28TNCPGPMO5,%TCXB4B$(B(BCPK!E'X!(E#F\(GM;P:B1J.G^$\]Q&RF;;D
MRS8VD$^!>!BGP2/ ($(;!!*,L)]_X(QT%9 T])&T@(39R11,N(-A])EL;O.J
M"$S3Q?/'53X(F8T0BQ/*V^AFOR<L4FTD][!NQ[H&VH=-9CT1L"TW] 6&!B$
MG2 8JWWTPA,+&Y,1\]RFL!;2P%X%!;_9T+MZU,/T9J%P."1$BZ;7O6I?(2FM
M05+]#NLCT=U60?A#C%4TO$V1LP>DC0]I_#8/)6R&4'Z=Z)WY8*I;BQ2T#I]Z
M?.RZWKR(R(-$4@RQ'/RYU9*L2;9L3WVI!K1E;T%S) =TQ_)1$+P*RF_:4!QK
MR#$=$=VZA@*>CF.1<7"K;0FU=;!^\S5B%=="1L>.4MZ ,;@^C\)!)W&,+0(1
M7ZL7\=0Q%O&(_(&X:4!PB27=^@&A L] "$2BHR&O<ZR;2 5)1%/Y1QX]Q8)L
M&&C^7$L Y%T@>:.[$.*^?6;>7@V!IB^@/4R:CN%3SH:&]Y@X5& V2Q[?(H.)
M: 'ROSY^AS+6.7X)MP=N%^YP[;[A(OTR4;KG9(S6'<SA-O:+3;^B,O%FB.1#
MD L,!J24/!"-X;JA"5$++!D0R)[UBZ^H$C*=<(QBHZCV6IW$/<#*!9M0FD[L
M6I/0,2&F9R: 7SWKG".YIHL(>\@W83CL3DF4JSN4YX 1^\A3>TCZ.G"'?^P7
M;/8#/&UDF0!D:FE8O:^EBX1%CN</G1/5] F,,-:F!$?Z (WC2Q>=<@RR+&(6
MS&5B^;G4R)$E#YJFSY3[887\C3'TE \BD4!^>.)SE_F'#C&0MNQ0:SW  MET
M2'XL18A6!=96N6_B$9N<4(POX*T-7RM@\>X>Y4N[0]L ON0]D>C7GLC7GLC'
M[XD@1SSB$TZ*I B<;I,D/AARJ=B $9),"@JQ>$H4!E$Q+@Q!%(I@F()<:K"S
M2>)=&>[;D0)F\WCLPS9+ MVP7Q5X64175###JX]34O3S.FK_-LZW/\%LJ?H<
M6X=P\<X;+\>IUY*FZ<12+FGB%?6]!BP)S*ZI4JV>^T%]WUCC. G0<@:6+,G(
M(_#-HR#4NN7;LLSOG\'CH.^'SQ?PX1/'V@K2^L^0S;O>^9"Q]D5\2J9"I@N1
M ZA!7*AKY+M^[A6%;4C?],6?( M@#!6#S'2AFXJT=KY5W<)^.XY,CHA[L_$>
M)61LX7)X7AQ$5V7/CT%6 /9Q?E)CA-N(O\% W&\3@=P[+H>M?@4A@OA8W_UE
MI$O!*G[Z(3#DB_KQ?\\2),$4>8##0B0@:@%L[V*;4-5-Z,>23#Q+LH@/I/I#
M:6<!<(P*&V(D4@QP&-U 8EB6(+A>HXJ %(,/N[@S<G&#ZR'30H:;.4+P7P$_
M;"RB15O(>],!=O<E-#=S'4\)' ,5VWP6FIZ-(XU0E$F<$1G :%+(M]X"LQ\"
M\-%/S#2"Y,#Q?G)2..AF(=<OL)"?H" 9 6#N[0AM^;(;6L(FJ!?.LW$TF723
M+OG!VJ!?SW(,#U;1!/&!3FN' _RXLFHXY'(W[!0AFA1A$ @@1CBRF_UH(($5
M,GDUI(V)+V_JDA.$"]?Q50\M!)=C,,?H@CB$B4QU1.S(.W$T604C' ]4O%$0
M5?F;.KX7C,N%D8UCS$58.%QA^&*%KOD1,(S*G^LHI8_H;?Y%[0D7DAF0+]=.
M^-8'VY1Q1?4?D1:!R!8C^YNN0P?[J\B^'^-^T=3]74L1&.M(&A(I.AZ3%.&,
MQBD7S8$$0E!_BH*#R'Z0#R!JL[V8'R%0-+"%1)(/"QRRD"V;!"=Q:SQSQ$?(
ME0"B&Q[JZF]Q(5 L3T)OA+@G@7&@Q=\\\>*<A&W(-@%"BKR]ZQN$VS?DY85C
MB<[:L&>Z%"'$"+?$"7*Q\0V*..H43 +OX)APLQ6PCO\&&T!;<45 9#,T ';A
ML+  'MECS 5['>(8MZ: X\77QXZ*=W7POH#L!7*QD["/Y,_#O+GQ(J#U[4V@
M4%DXS\X>D179$6D01/I%)SY[\JEM60P,0\&A08_8\54,SP9$B**!$HX9>'+!
MVRB<>1<G^>%D3R@Z&MY->R!$/0F_.RIA!ZS(@NW&39I#P[7'?KI$&<P!4750
M4;94Q8+$RG1*THELWNGX^:4084P6LA;'1.[98V0,8>&&-8F_(A.)"7^_WC<
MUIHZ4.Z[,G]G'M^#Y=0-J'D&FW?=*9I[H='YX2LI#6(1O:6J F6$EC=P9$5:
M3VT;IGYR"1[XD\7PAJX(S5NB3"Q5&P+5(MIDR]HA9(.@]J1=@\D0J1:H0'\/
MZL'VZVZFS&:3(-#YGKSVM.O:Z,*S_XG5./SI*WO@[VX@S!H(3="WITQBE1@X
MUIFV?84@(DN9N"0NCI8B.8H^>'J/G/I>K=Y8:V,<$&L0&@BY#@Z^:=#&VZ:H
M&9;4>VQ[8"+!CI:%#;<?'IL-\)8PIB6T?"Q)5+B^!=>+\WE[S8A@L,6DXM/
MG@6(^76MTO$.L89!X&W8(#WC;]=XFB-8"@GRND$ $6<XP0B6O<2<]2C0<@QL
M9N&M+,)'@1%A0A*V%+WC6^M7A,.\08802CCZ17UO58OY']XN+#;O\)Q4U+%,
MDM4]^]B HK>)CV@?!'%T"1&PC#<<T:?$)M*Q>:4HCHB3$#R.P^NSUYNI02S>
M1Q'ZCACW#O;=R*:'[@?5%?>';\VA)@AP*LX?()%XV9JNX_)N0($X.HS=*>Q6
M#F2R*>Z'[$/#BB5$9E*0EK;%8IX'M#96@A,.'O-9$))(-9:K'NMA"\?;]=^1
M;,0NT2@LN")^)HJWS8H$I[=;C^6Z2"YG#H2@!95A1/(WE$5BC"*K: X1A9.X
M^7JO#CC(."*;5BI.[D)<(LE@I.$T%Q&]EOR4 TST%CE4_Q/O6=H#G?SE[YYC
ME)M^$-W4T3OR[= $#M[6MOUL0Y)5XB<=^,'\T& PYV$ 0XL$!]8";8>U9>0U
MF7X2TM!/1</"40\4$Y9AN#:'@GQ7Y$,@W"#X!#QN;0MBXD1-$3IP4A'A6=0
MF:MKGTIZ+-X5Q-%7U T2D]C/6"= /IJT)X80\UF8^Y+T_P0*@6Q%XHD3SQ=K
M4%P5J+K.S+CZ!XF<Q^=,DE=L'$$))PH%84\2I<1!9PR^)TXF??O#_/,+=>99
M85NQT;>B.+D=R/6W(+:>!%/9BLPR5TP*JB_&60_9+PAZ?#)L2X:^XF!P5HF-
M7]'K?0(-N85KJB/,1M$4O=D?\/X]F@&2C_>$GD(D%X1O=ZRTM^'U6;/OD4%.
M_1NHQF^J"K#/C745(D)$?RS-TM@Z_$EE]9&&5HW'(]D16#U3W\M NR*-?GP=
M'SIRJRSVM57VM55VF5MEGQ>A8)_TQBQ?7V,+CV2ND@I\7OC5"[H26\$SEXFR
M-K8DY=#1Q(WA1^QU]"'Q@R)>K) $$NT=SXNX0NB50TS#C5%GZ[IOBP>&MHA4
M/W*Z+"Q^UQF9 RABOY'L56S[ V0#P]N,B:PM'^(>/)RUUX-%;0Q4Q?7S.Y<_
MGS)F=H%#_"_BPWF.!S75] 6RC4;^:DG2F0F0&>T0CVT3H/.Z#K++\"833O&!
MG[[%PFZ%2W<CS>LM%S19O+N"P\N(P!T?80%0?)@\@MQG+VQ[[PCKYO^?O6]M
M;MO*LOTKJ)[.+;LNJ.CA9S(S58KL..I)8K?E'L]\<H$$*"$& 38 2F9^_3UK
M/\[9!P0E.7%BNJ_FUIV)11*/\]AG/]9>ZP&5::CM!K4C#T%L-QCMW'H^!S37
M/5[\(;UIAP#'+:_14@VG ;85: 3D+7F$8NYNU%,VA#(ZW#]@LQE4Y^)UR]'J
M'KJW%/2L5Z;W0J3FEJ+)2",:0]JXH< <\\7886"+"+L'@#7V::Z%,05JV\()
M%SK'OR=M5%$6G%<^GE@6O$#*;=X 21'*KX1"CF194H8H$WC)7$NC>S?P0#?A
M.TODPFL7P"38QOB*1.K&:B6+=5MFA-ZG[9Y3 FU>9(KM7@"C17$I9]HP@.@)
M:&D9YU1\H<*!#MV6C 8G.X#KXGFB[A%?>@K)'V^:S&Q0M]?*_=1%<(BXI=VC
M;SZ4LY02"5QBR=K%?%7Y_)10+-+M7,CM!0O]O.W,[ON>:IN4V$+HGMF%&_KE
M_&B93^D%:8J ;.-U+G4JPO6[F>^+./1-M7(U\O=<*J.()ZOSQLW%Q8(7)[)P
M^";M;\X%II(CQ!PU2#_D9<,90]D>=2>XW]T9:0 4T?7S*_:X2;LHF*&_*-M\
M K.]Y@,78.9FB>\!*,YG<-130W\2H^.>PY<%L=^N"L9=K]KH*EPN]-_SE2_>
M<6X?*N%])RD)[J*@\UZ<@W)!FX.[FZ)"HV8.J!&F7ZYZ-D^WNC_V/?<B.*]C
MTF?GYYQS"M51:?A8+BMJE8#OF<PJI)34G1@DFY&%E"?0N[A'S9;=JJ(75/O"
M@'LN$%)[4L'VAOI"W,7$1'%[@AM0AH%@9(\>3E"C=3Z4FY&6+D;+?C27LCLK
M,4HT.I<KH\Q?*#&[5Z@F7,%4#X-34)AZU"QG%"_< R(9>4?VXAAWWQ;G*SF4
M"6V;M;(B9LT%GZ= P*]ZY\FTE'LOU%)$ ]:M:S?<[DY:Z*'SH*2N9W>-RA_P
M0.C"59AQ?66)9(,6@J*W2-6KA0V;2OJ92F#L*JK#VLDS2LEVI&91D8OACFB<
ME+LSJV\++41W?/1&=G..77&+BDXJ!O0Z+TH,UM0Y*NAS=C\D2[Y RR7 /CY#
MG7(9 ZLE#64BRL$7=8MSEZ8PH$"*=4!=X9<Y57F0Z8:O=9/_9;HKL/\Q5^+3
M=9IN]BEHZ@?/Z'!K7=!Q7LMVD+-0BC_D*BR;?.9B!O<V57'.30F<6*)E,I;O
M=L]>9PO8^?EGSTZ;%?*&$\V\H_3\E;XEM\>U.Y<<M6F1_/7@<.^QEK-@ -E-
M#YVB[FMH&H*+G"4GQR]>8[T<'G[%YX;;/\E?GQ[N/?"7F*[=)8X>I)\P/WS(
M>40ND/7<%.(>\,-: 5T%DAQ S$E[DV\J95>#*QC8_#6[Y;3NJ^3>7Q\='<8/
M?OC$K>'D\.E7\JH*#<2H3/ QG)4"*P5>;MGD]S]E(OQ(7O2,V])1&B#?M&JF
M6'V#8Y6=!9E:8/*HFX[B_;\>[NT?#F;U2.JL73RY,H>'1WL'!PGWI\13>:BU
M4T)EZ@HX.M@[^.I3OOL#4P38A7UT$X[D)W+[GQ%XR7?3GFJCYB[@2AYN32OX
M95W#H\S=>J8J?$6U'NP,J4/B-"2TW!2X16>'F4"#(CXTD-:TAA0$@;;@_%(P
M 4/<K,=!4D1'.%T#KO*G+9]<?<$UI_A8#IVS'+R?-YE<3HNB[#0;S.6]*VKJ
MNL+Y0S$+/>22G54<4B$*<5MMY3R!B[5[Z%#13R5@P>2Z[552@Q'%M70#WE+2
M=Q3^C+*JMOO<#R'L\*TU(-<7:JYJ?06$V8HO&+KWYARTX<3F26GPW 2"H"',
M<R!GQ"&:D$,T=QZ8C3G"7WVU>.^N.+=CQ;G?=H3>0%Z$$\87WI0V(**M3Q@
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
MXJT'! V-ABZ$!J*V^G=J34<^Y1(:MU5V%7>TI4D!Y28OY? Q"=*PUWQ/^1?
MA\&=2@1"DS4JPD.Q_BY1EG-TWXF8%>=+RQIPYIH!6@W%<1K0TP ,+D[]EZDN
M$SO(FU!4MH'!8C,0=G?L%R"/S:U>5YP')K,:<-U8H"<!P E!6=Y:SZH,*74]
M?,PEH5HJ7I;X.J-Y/^\;J2LVR =>4>\$KFWRFIU(=6_^8-,'H:^&-*:*4;@?
M1QXD4_"OD$\P#1N".0[X4NM9Q/2# L?WN$HESH$@;,V4-^T6K:[4PWO! N1^
M5&%6+0N8  7\]A?5;D\[S!$4L[\U]!THP/&WW#T9A4=V.:!#G6VOA/W#K3Q^
MYKR8 F00ZAG&,>9D$I\L;F.PY2?M3!17]!$]).#:]^VS#XF<8SV+:J-V\@'@
MSTY!+=2#;#"C^G'4-T'G6DLL25FK+8[3LB>5;9+'[3PL'C=%:JS.3=>[%)2A
MM)TLL[5@*%C#86WZFN%B=C@8Z3+NCLZE0BLA-V,PX4I':)$QE*ULRH&/%,HN
MEL^%]8G)UC!B0E,WE&9!VJ;*EEWQC?['MY] _D!36 <F-8#\"?Y)#S%Q9V.S
MZK^9EQ^*43MO0G?-!W'NHV_=_\\_B='$YD#B7VY-3^&>\ENWOOJ"M%&01+EJ
MLZ4^SI.0>9#G^3__]O31XZ??_OO7?6Z?*_[29H;F=QV1-Z=WAKG*KL_<'VB3
MVO7C P'>'W5VOOD=6Q@-FQU&P;F@A ]HD/GU[42#F#(P!@61"PS5UYC'KVDM
MW*W+_V_6)4[+RF(R4H8[N:5*<HMR!&^F0F)?X6XIW2TE%U]K< )6C]6T<OX+
MM(@:3PAR9W+NULE_!C>S=Q[[?.ZALSB>[A;(W0)AS#+UH0I%T9WYN%L=NCHD
M);C610&@PTJ0<W?KXVY]S)O6_:6F*)XDUO^Y(A:BN[5QMS:HN!AEZ#F-?F=
M[A:)7R2>R2JL"RH_C1.KW:V8NQ4SCI#T]J6H"6JRX XZ4AF^]CCZ,F&)3^Y@
MB7>PQ'\)6.*=W?[_Q&Y7V;0A! Z .^H+LI)EQ:U4GE%$41YWQ_W=LB%Q2JFF
MH4FL6&:]JF<Y2ZG$S]]BY>S0<KE;+9\G7Z74R&/Q9@J,6]8)J(Y1!6W1MXV
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
M(='T"5BY0<,VVB ETEJ:C?-;R%?BF)^S:8="E[ZPP6@X#'(;TBYV2T1++-J
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
M^;R=")R2/=S??P)$A>K'$=U62_1TQ5CEPG<&9.:OX6CR4;Z:?>W4#T='%JJ
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
MMDM*"R]]F[7E8))N4K=@+LLN\_)QNQ4$OIS-LDZR/Z%R,FBPHPBV%VEI3;4
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
M1HZ<HACH3_X9Q)_NHW'GOG,9]/]^]^;J[N\%@[L67'2U LB4;( ]P('>:F>
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
M&J&O]HF4"^'')WA(/\3.<S#1[ID:$75 A-D>##0FZH )S1+U0(39'HTT(FJ
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
MMA9QGJJ3,AH?!NCVJT_#.!@DKP[V'-ID++-?9<Q/1ZH;0-R'$J[NZ&BU%F!
M!16J,1W-?H+YC#.FHM@X<<F0/I5![$:D3M767#[(;,':1ZSA)2>=-DZQ; #M
M;EU[[!<1%1MQVX\":UFB,X^?;<QT=>+QH4J@[<=FMR:!FAS8G;%Y$.)LW@!W
M'/@T&XG;JD9L?=,=)W2H]_!#O;KK1*/R^K9E_FH)=5@2ZG!"N;HHXL@%U%Y"
MK_4RF'=*GY^V;P\W$G,ZV-+0P.V#%,U)O]T]U2&60PVQZ""O3A<^V.#PD[*%
MM>1JAN32P>'=$N,'%ALB0'SB!5%4W9'OH;@PU<=8]IYZE('35KM2['VK58>0
MQU56*>@(31-5E XA'YMX6QE>WOM6JP@%=-J3RD,!6J8U2Z8=8-3YA]@"3MS"
M/,1_+:/8G=^O6?H#U[JUE=%7K@\OCE_VAADHD\%CIE;/NR T+"-:WL(E]T8P
M-X)E:%S"P]PYD(\?&^>V#01!_9G?PM-OK1A6ART[/@6>:[LL:AD+CUD1,T(V
M9Z$1!\:'(&:&B0^+;QA]BO!K?/+KP*?8 SS%,=ZYON7;KN49ES%\<0O+A:<!
MC=HWAA4R#,9[2P<N9%[$[FX8?07/="/C,UL$8=RN$(RK0;1V[LR'P#_[Y?S\
MD[*9WP :RQ#/#V;UP?.%;R#[8DTGX@(1,T]6[/KS(+RE@D\#5,,"@.\@J.V
M?@ Z-N[<^,;XO7W9-FBW)TC.W<XK_$!_FJ]. 74BO<AAA@WRQX)'^!(^I6]K
M&W]@8I+GLJ\,UF3%N# @I9*[;@54#2N*W"B&IWQE41R$$2[TUOK"&XC?PMK=
M"(@,J6\!< R<LS@XXW\IK<;A04LOCMK@^QH1.K_PQ8+92'^ "^N:B%&N+%J_
M'B#+VX!HTP&6H?XU@H\"_SK@ZX*?TY?#'P0!WZ9-(TDS-^2 97\NW:^6AZQ@
MS.[EQBP'44X,PL%4MDA<"/"@!]L0:T LRS6H+Q4_S9:1Z[,HJI*-GD>E)=2
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
M4^F6-IKH=4N;4G77=/=J54>;ZO3<<1%VPPW.ALPWF$ST<(-C)M/F^47F<'2
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
M9<'\\;]XP0SLD@L_MOQK%['^/K@[0Q/.,83I=/++Q?NKBU/E=/&02*+W")+
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
MUQ-FY J-CRK]]_9EFU;R>_O7]BK=_]V@W<_0B*RP5 FIDRY:7<@<- 7^#MN
M]\7&G*&)09Q+6A07<>%G[85[]!O,T:L(X!)^=;GZ!ZT>D45,#P;3%JN%0 E'
M($R('.MC=7U(64RN%Q$ND$S$_ETW#U, 8#<%H+CM.6PV4)[GR@Q.?/<B!/L]
M!+B Q0X&]VP92V,KQW;;8P,D&'/2'N^4S%=3=Z\!U&W4F;QS\I.3N*GZAEN@
M<%/17"L(W%D275>B*O"W$KW42'SE]([$5V^=):#^7(5\*K<"!,;R@-ZF(.JV
M![E];U44H1_J&+_"[0[<7"(65LDI50:M(;S=T5UG+=G]S2UQ480%_>*G<P>?
M")O\)40"^T2!( +_;_3$O_W@UB=@N'JQN5_XVD6PRC_[Y?S\DQ(GN 426888
M)WF'$2T**, OGLM)!7#\V!<!IR 9W +-"TX H4=]A$+2Z;0 \=J6L> T&C$F
M(CV1';H+^6ZDOV[GU0>Y[G?)NG\3ZZ9+3//58Y=)3X;;K%GPE=7'3$O6>DUK
MY;%(+@I'/8772'?UAHJ4J$#\P?.&1>V%M+-R506U]FPO:87Z?KS=M\&M:1LY
M6'.DT*[ZO>_IGG[W^PK@N@:2RCN;"\EZ"/XG,=9*5VB0-\"_ZW85T[$*9NLJ
MSM9F9ENUTG)B>32.5W'#JM?V)IQ#>J.J.80.0AZ\%HK1P%8PA&Q=DZV3,,Q#
MN.K)S-!@8B]UC%33E^C=5,BS$L>HQ/-?2>WE(3"5X#>Z3SE$;R+PLE?UA!HP
M)[LG\OQZ'DWHCP701L)NYLG11)\<Z9,C?7*T$\52'L%18[Y<LW2KC;GUVITG
M&%)EB]V1,57VZI')=<UP#[HFOYXC-:HJ"1V]_?GBZLUY/2-%?&V&B^A='0IZ
M0"1(/&C?D1Z^C+I'<@2P2!CV^GDS>U*M5]GMEQU  'N5+2?+O>DA?"OA5K8
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
M<A#-(B"%ZL/>2Q'9A8@_Y=/>>:3N7FR$EG4+1%J&F5Q;.QXEQ@8TR_@F /=
MM,)+^[FL7];2ES=2/Y&D<5T+ZP"HGT(6U+F5\K1H->DIZ<C%#9ST_*V$''D/
MTAG1[E<T-AQZ(XN9+1JR6-*0IY8:8.@QVUKRQ'P\ 75]#%T!*#SWUDTR[,NY
M>@6;8N9&MJ*>,Z@<?YH'&.P0G*6TV<)JNMBPO9K['!M<#EY#3+20*)?7-RZ;
M@P4O;>R/BHU-4L2]%=>D^N6C=#(4NGZ*L_%PG,]27P%416C=,E&W8?S-+3&4
M1*H[9L/F-.49;>J:QU/?)0\ZZ7;,WJEQ]K<?W)^H"UIZ"D.>=APSHM]+U%<!
MG=M]#*\M7[!NDEYY!4SK@ &L^.?&R>N/EQ]/U_D[63 J;DLIQAX.-4P^2UM6
MU+217DK25PB7@K%#733,SMFOAA,PR?H$(RJN!,R(,AVQ\92X'(8"&Z$:4D,5
M:E FFHA8:3AX[L(+4BW^8/"VC1);3:P!(8\K58[8U96*Y+3'+1%4/W;GHX?Q
M6(\@NLTQ(DY,("8HA!6I(C/PO7N% /,;<06YKD;+5O/<'Q-H58X$'FP@UR;B
MSW-:*,C@!X:=;N5Q<O+!4=CY*:HU$82=GZZ(:YZJG9EB<%&9;!VYJI2&"(VL
M"FE3H(5(,@CCH6CSA(HAC0?E7]!4H+9;N1M:C]M\YL#$F?2')NN.ILZX9T[[
M [L[G76[@^E\:/8=V^[T3:=X8#KY^2.FBBB1TFEW,NITAO4Y3>!G)3^#T':_
M@?/O?UC>PDMXLA8\YC,&$=XLN?T[-3M3<XIHF5X%4[,[[8E/;-+W1W#?3<>=
M#ISE]?]U__OG]__]PN#;_O&%^RU^R7.OYI87L1>&#WKRQQ?,=EXB$9F=V< \
M#\-S)U@ 5M]YUO4+@N$'*PRGUN7UY_OYEW^..F[OW_\:74P__/Q_P3FX?S'-
MA\LL^Z=];>-#X&_>R9_6__W]MZN?7__QQ?4[L*^/\?L>7/ 3IX_\5FJ D*OP
MUH_SNWC[RX?A>^M=^.OOW?'7]Y-/7^Q?O[V!7="*\IM0>2AY\E5HH6;\Y($3
M-AV,3+,_WF4L98/DK <%E8)^^?ZW^-__[?[L=+HWO8NK?SI1',_/5\?WA-E:
M$A7B075XUYEI"'08A \C"?/EJ+$NBNU-JD!D-M4*W='"4B*VRD^1/C/EFXH@
M?R0.M9BCWB*?8#FBS ]K"-'T\1./Q$I:NBIPC05<J17=M=I4%I\@;L!JIPTW
MM>1=U.4CP):K\'99N9:J8W8M.V!>GOW:,DBR]SOCC!J;#X=]>S883&?68#[M
M.YW)=-;I#*:CV7!HSLT.&\^MDHR.O_."T7>\^.&U3"F2*1$SCS4C&,JUW>NV
M>FS^.;'4Q?:,?P")18XKPD-D@7SBSCL8@KP'#=4W[C$4FLGIJ,E,HF:>7O7U
MZ94^O3J@TZOI;#08]N?]X;3?<7K@J0RMZ9BQ\71D]P?6I#?O6.8D(^(_G7^^
MNKBXF/:'@V%W=VE<6=9\E""GIS@8LB=]EV/-_*_8@?TE^:/X5^%G3DS4!Q&'
M:  P#(!&(MU3-6AVWDB;(0EOBL@E)HJ]QKS*?3MVDZQC!W1J)(MN%:.R/,#S
M.AEZ\PNU<Z:>(89J-OS=^V(.1@.SWYGLW52?J#&.3!82INZ+WIFS>[)_(C"
MP!KL=P;4Z%8F_?!4FGYG=&*?GO1.6\:)<WK2YWED^.?@%$5'WJ!*$VK4EUJ4
M'LZ3/J1%R4]W<EDF>"81K<F_389G%"Q5/@H.'X6UO??IZ4+2S@*;U<B0VF^,
MR6+@2VQ.@<T^$-,\-8VW+%9#?\HVS?[YJH0T/S PMTLTNS>[HH<?'WJ7:UJ7
MWP %<N9@<<'JJ-)AO\Y$EH"DD7\C)E,XI#98?./:LML^9MCSZBSL3R!.G9*"
MNY:"8/4P+C,Y"N]8DX'46I][E?ZHQ'#5Y*5T;)4(:GER' ("8Q5><IO%84Y!
M),[<7,I6G$4X*A&+UN[NVJZ8!-*V@UO10%_ CA^=$81DZJ,Q7_+65[(Y=D2C
M'K#NRG*Q61;1>RLI%*/P<:0>?>16QT^M\SR5A7C94:E2'_'!BASK3Y[[__9U
MI@@QXR1-YFPX[/7'TYG)^J!!._VIQ0;=Z632G<^MT6 R[!;K8$PSD:X(%N9'
M/%0PZ)G=WJ!N>L%L*\I 76^M>'.]<(==:(FJ2E19QF6-K4FW,YIVG/D8K;KY
M=#)TS&G?&@[9P)YU1FQ4)-^N./6Y_WCGP^9NW$4P?\V9\V>J-;;=NA%QMRV/
MJNZ-9-5D] NA(A>.1\ST._'^;]GDB<^BHEI!+5P2QUA_6U=F2+*7Z4P9F(
MDLT<RM,,WA+?4^Z&9'8:VTB"/S-2Y!-VJ+JX$"&D03(88\U1:DKCML6#9'+\
M1WJ6>)[FF""77<C98#SSX"U?GBJ+>$0RB7YAE[QU["X*F(PUDH,O4T3&>D4C
M+Q4M72U:RD2+R8:CR;@W!0WH@&:<#*:3;G<^[?<ZH[GC.)9E.D71TA/\2)R&
M*A[8%#TFP7E7H;7W@K"\:.FU$R&2675&8EPI660M438F$K$NDI/X:MLO;EVE
M]C3=E]#]:&0RNS\RIQ-G9$_[HXDS!15K3AUG/.EU)EV'S09%NN]_DG:[4COX
M#EP&+)KE/1_J1O?]MI$L6JEX3*"$J^<&M.A9T2CB[FOBKMX#7WUN4*#'@SY(
M&.B#!'V0<$@'">/9:.1,9J.I,S1GTWYG;$[!ONM,9Q-STAFS7G\R&A8/$OXY
M[8[[P_YD6V'B9QP;R.C^/\N"^X.WWVY .(&"+C2YN+1OF+.L^(R[ F4]P" .
M7_2JEA"&7+M0U'16G\@DDA\HCSQK$;&7\H]4L,".XQ#^WTF.@K$G$)"A6"BM
M&?C]U=V-&[,SX P;V>DNM!:"IDAI"QJ4.J)*O2-UP#C]!N5/I]R<>/'3B75Z
M8IYRSHT==6LU6F19;P_NU\X#+&Q&X^)SDIQ\H63]?DZS?C_QK-_S;-9O*SND
MM*QD@;LR&$<E(P+O](-8])IR93HY9L6*#BN\*0D8,F7K?IG"^@>DI1^(!/>7
M*4(J8D@X_BRJ\A\#PW< PUT:O>MWD!G@]K/E43SE\H91_5!Y>GXR4*F>F\A.
MH?N8CJ_G!Y6WBY#=,#]"4_R"3T$\>1]$T>DCITGMSVU9OV'57Y CM41DK"D;
MS&?1/WC&8"TWMS[73#4HL4;.L^Y?NCZF&9S-/,"D^G0TR52E6&:/5C"58YTQ
MB\JO>YI8L/2?Q((X,[#IE/@H&TW%L84&!,56\?PN&8;VJ#Y2SFAH=[N89CCL
M]*;]GNU@'ZGA=&[UK7'/&<R=4<F)Q!##RV;GUTOJ>7(_'0_[G5&U=N4F7R+?
M.,X<MI6@MUA8'=L\Z93 9WCR0^W):T_^D#QYJV\Z<]N:38<S9SSM.WU[:@WF
MX^G(&O3,SKPW,]D\(W\O+W[Y<'[U^^>WE]/N<&0.NSMS?<O=>[4S8K*T?9IP
MGY3P+6_3D.:2D!W'D\3Q/(7*XDZ<TY+JRO*F9/QYZ(.$U S<HF%\= (KBBAY
M(%GTDQ#).C-V8WES661,,61^ 3TP9$L<FN(LL1@N.8>ME:YX6&A">2LB10A:
MY#J;LW56!!;YAIQN?-49&&O!,GX)X AR;!.'<AWB^2;?U>HX2"#C'?U)VQQ\
MKT(C%U=06%QY..9=SL$2EA"2G\\PE/*2JX\[@,E&R9W\+EL7O)*1AFU(\ VQ
M?WXA_/@$<R$7G5D)\&Y;@WN'X.ZU>WT-[]W!NZ^INRIH4_AQ?3C[X6*\)DJS
M(BFYA=W\YU_,8>=5\=_,LD&MXUY^?-%]L1DEXPVB9PN;N/CPX>.;\ZMSX^+#
MZW8ND*TIJ0&[J3N!/7EOF@0/93>;+*HM;.?G^Y>/6B(:(<(C$X$Z<_'-H+"^
M(:-?.]W #]$/QC\L^XMQV3;.9\N;8#[7K*%9H^;;4=@([>@]\Y#F'\T_S=K.
M>E^X3IO1+'0HN]$L]+S-K&L'^REDD8L'+)IQ-./4?#L[9YQW;!8NL0DY-C+#
MZI)=Y5$63F"?"-DZ),1L.J9]X'EL>O**72)FC/GR\'7&<,Z0.'1-DW,7+(RH
ME8$OSV7%RY1S7:IG]67-K&6G#7=%6VI'C&=V^!"EQR1P;SXE51,:Z 0TD\U
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
M?]T'"1YCSY[;1"3L)#&Z.P3P#P[AO98=T]>'0/AC%0<=>(Q\L27N*;;W:(K
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
M4 ")]W%^V^ 8H[Q;SC8U*N?O-J#I"0V0\$VAUNJ9LC$PJ;9;D N4G0--3ZA
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
M"=\>/7HC&#Q[05DPGJ\&G;R0%O6!6^JZSG WS<X *L#[R9B72CA]B7#2\_!
MOPH/Q\?*/@PND"?Y99(&KEYJ*(GI*OA:%,P'CNL>G$_%]=>UXH;NMZRQ6+=$
M2LRW5VZ^TI'HF)ME@+-*H[ 5 IMKEAI*;[H*/O@&L%E)E>%2Y*T<%HBK&2]6
MZLHB#<$FSEVBR9>PYE8#8R_FFL?D.C6)[KM++5T'6A10#O!K*HZCI7QY<^9<
M]&^-)K>5+H'2G<X> CM<PGW(X]3M ,ATGT#AV%Y\-V7<K@=MD]OXK@R6(MV6
MW6W5URP/>,E'-<P/CO2IG83:9$P!W&2-[7B@6NDRQ17PF<1 =D90=U3VI9T$
MA ((!5#2U(5B7Q^) D.A76UB09<2:5X:+!0JZ^MX!Z  C)21-QPI>QT,$I0)
MA<JNSWO]UE+YE+0M_!5$OCXQ(9-")G75^4^?9E*W&O=HOQ#,0"X,VOY'R4!?
M(1("?)M]P#>OV=I4?W'+7RRJ]FB2;]'&BC2[DB)JN)$-I5R4(GV'YS"4"H2P
M *4"?=%PR"DH>(H 54TI[BA%J6-E=Y7AL,;4IQH0 6 HXPXC7CHC<?/!#.1H
M?39 (JF@V 4R*612*':!8A?OSMDH'%^&:&O^(;;QE^EX1W<[(:<&[=&B3(W+
MQ2?:K@-\$+A'>\(/F93;N%;M<GU.+]?G0RI-9/EJ".^J@ID5V3OZQ3.:R&J1
MU5Y%9L7'AQ4O'DMX9+;/1A++Z=6J45GT2Y@U;G:6VW5_:N+177,PE33[XIG"
MFX\CH*2(:X,[)!446$ FA4P*!1908.&/#X/(ON_JDR"^P])W4H#FI(\225/Z
M/I,4'0I!^Z>WF$MQ>Z&*EN8_9)2S1^;=<]Z>)#Z6LAA?G#J8U9MOYH&!I;%F
M"*_4AB=Y430# 0-*K/ARP9!S  ,["=<XC]=#L;PQ^;ZXF4G3'0N! >9<H-,C
M*%!R34B*I((")<BDD$FA0 D*E+P[4 )H4ZIZG'21B)E4;=M195^&S7Y&Q?J%
M8.+IJBZ[.JJF<5G_B 1.@^H$<":NP4$ZXZ6-GSW,JW*./C9J<L+QR;MEOB6V
M?(PKC//N9D!5Y2PUD_#,(<>#3IXW05:/K/Z/(B)79O6)<7_]!)&G9O]LCL@R
M8[5L=\8/,*(YJ/8S\W5VPT3V3__X)X<ECYJ@'!'DIR$_[5JD@D(?R*202:'0
M!PI]O"-'9!_V6&INRIO+;C)IY.4 R"\4 4'Y[I]P2N7J9Q,I] <H]-6+X/('
M/SY*!%_"S_W393.^<"4O>[J""/?G7EUPFU' M]QU<F6!P=_=#BCJ:UW5HJA@
M1"@]B:O;,J[[_,BH4TN)4+J#<)4-S[TG0/Q6;)"371N(T6MKK@![&=G\?6@0
MNP\-;AL"Y_*,E<=D59OGRCE]8PBAA&?AU@#V,X>NZD7 \5';!U<X\K/N*)P'
M.7Y_6^$\R/%D=^$!0KKM<AY?^ZS%$0,SRSA*6MUE9A!": @A&'G^[87KYUA%
MW0Q\346.%MI%_<ZY$U^3+.V-]P3694R#;]?"W$X,2E,Y6$RS.K$%="D7TZ43
MQ^T1 B $^-9Y%%^3]3Q P+.\9^,T-,:590FKBSF9YZ?=0GK:@5AP,=YS-2X3
MNKGWZX$GD@K*JD FA4P*956@K(IW9U4,HM\T-26#L<HS+4ZJ\%).X'LP81:.
M!Z5,?)T=YM>\FB^4,O';GDL\MK.-$.GKC>GKM96T/*VO7\*3/$]0/=J*2"%2
M^ZTV(*]>;-\C[>'^.-0^B$<5I&IKTUJJAL5T9]6B7,PL%?:3#T(>V"D;D]-6
M8$TTEY]&$3V/?Z"HC[,A'@Y*57KM/.%M6C5#S@A^P=#:W6E])A%$=% R=X?3
MR: >@B,$1]<DMJ^93/$9<'3Q YI_"D?S(3LS%NFFQ-%LV;*6V#RH,1$<T=&Y
M;9S$SUZTZOI9($JMN*V-U:N7T0WF97QE-K>W_P2*G@!0?3NIE[?FHB 2O!PT
M:],ML58[$A&5 B6).YQA4,(&PI7/96H(5ZZ#EOT&KO!L:Z)UZ[@G6HHVERRU
M2DB-&<25RQ&SJW$/4>['%\(8M%&-<C^022&30KD?9Q73[<56]AUY^3I7:^EJ
M<\WV]+7V^"Y7E/.!]M!1S@?2UR^OKRCGXVNM2!]VP3CB>^_:G;VN*X ^L,K%
M-[\0Z',O-5]@?'^]* T+&-%KLXTFV5P3'58BZ(^XU!PA!4**W\G$N"ZD2$CB
MZ]?)?MM%ZI0_G;=I+4V)JXE+U4L-MC_JSR!F7.HB]6LF7W&0OPU]?3#CIB['
M,)&2U47@^1;X_EU$N)QIRI<W\*(0Y$LA7^JJ?/_;XSR\/]?<1U&XA_K_>U-E
M;35JU78\W]5\W=6@K>8U6P,0V#9EVV/O+;BE^?RT)V]>0L6LW&+&):VU,@98
M.QU*\\HXVP6HR$27J3*HW@4"@J\75/GZE.9R2/ 4 %:K5>AR8Q87]<K0K\QU
MKEN>AQ  :)A"17_Y(A?G84HEQ]7 @%)*X+J:K6Q3O@LD;$9:<42:D).)-F5O
M/<_A^N#X4XG9'AD*>V#H05R(APD0NO> $K_'RS95;3$A^'Y'U)O5ZFJTG(7"
MCI6(J&YK)D>\!,L(>A#TW&8^R-6YA)]*!/\(>9X"CBDN*DYNU5=$K<7,\JMV
M-UCE0P@X@ =2V$MY]+<:'2O,97L&$V%24UEW4VO9##08$%/!^]9 LFO-0T&R
MCSE:<%V;!V<.HGWV4!&9NX?4@NS-2Z835C1UII5EW88?LE-?<[N:8LJ>IT_!
M]!X@]F4*EZ.HJK-<>(HX6,O-3I@N>$MXNC.J)4N1+WK6"#\0?KSSA-%UX<?W
M8F3O@(_$7=Z8VADT7,$STK,NT\_K]7!9CE CXF%)U/AFX3B<B'H2S0)0A&<S
MEI$[_)W2/:Y>:E\RJ^R;D;^WQ.7"D<\R!%&>BO1L4U=G15,(AZQ$8I#49:D7
MLT@0$"$@^G2I?<FDM>_%(E^(TE6XD%J+4FZ&!9A)YL9Y;+'91? #V6'V.T;I
M>HXOFQ_"!+\U;J#+<%'*VP7XV D(/, ?^,T,H'S;CANYS$<7N_><EF/#CKN.
M:8(F53 $5_/\4[4\NEI?8[K5 5<?\&RA3OEC<]N!(X)G!9B[[(D<%P09"#*^
MR/W9U^?#79P[G1\SGG7W:&O*:BYNU45K'NP<;D1P%!'"H471N!?3,+Y%.&Z_
M4WJ*?<E[V6MJRG=20$CI(^&#1K'TD7O\G=SCC]Y9O;[1(WJWA^IWTCFWF*E5
M:H/!1B2RF--J&(HY7P /."KAC:-CGPA?/G+G]?I&?U7X\IE4\)WX8N49?-9O
MC' ND,NJL>HZ4RO;@?@"&!_^TGFHVPNP[3ORSII1]P00S@"D@%7;=E39E\$/
MRL\44*V4$$P\7=5E5X?)<ZC"U,W4YGT-A]%UZK='Z$Z J;A6!TY.U\;B5G>K
M/)-U.YL0@"EYB+WA+]7111B ,.#KE]C^7@&XEX)IZR[=J$WJ.X6KZR--&+),
M:YX/(1K 8!J1A(*GP;1_1U3B H5%X?D(?;I]Q(P>J^]3FX[_<D_S?\.NS]YY
M18-L]E'?2?IIYP5-2]F.#]X!B)AR7%9MJMNRK>BR"?H%/H#'1+R?9^SI\S)\
M*Q"J^OKP+_CG\&W%U&07 L3\/X\G@X2OVJ,@AOV?\P%^4N;[L1'4P<[OC;R4
MSCSM_/\Z[OV#YYA6'--Q?QV@ZFA8\YAI$Q%JS;3TQ-5D(RW#=-)?LAG*6V\_
MS&SVB K]NH<[*(A4!GH9J8<?H3@2LK3D3?I(8H]\AOA;AX\B>#M\YG@ZM--?
MKF9&QV'@LQ\]-9H6WUG^(O"?](5F)>&4/,%>\F%2_D=.S5V(F/_J\863BS3\
M&4 00$+ST8/W'_WXIQ<Y,\XT58  #$SE7E/E8VU]44\CL:9QL"C<F\=>K@\?
M/IZ/A*#C/P* 5?Z"+5+_+T5$W_S[R10\FLE'_F#\POBC9QY_F"<Y G!)IK*R
M0D\4"<<R68G*91A))C%-TJ:RC-$3C:9QXD<LB O-[+,&&$]OM=7BBVR/C8,\
MU5;A9XIM%5."F!>JQ2K;K7)"-$7Q> I\2^ ;5? %KBCTP+]-KM43^)( =*->
MX1M%KBMP';'ZJ4,Z[F3JH9<IOI0Z[B=$39SY3PKVMS?ZL&4FN42^%"H8<6Q7
M2'&M(AA*D2MPS3S739'X70IZ*M%,0;9R'P:XO@'\5;53_MP)/,#/CJJ/7LDR
MN;=2!I].)O*4DD@%RTD4I60D.4?*$@V,-Y.=,@R)JWN5E@_$K$<H^)2FVE6N
M[(SH'37MYC)Z!]))\FG3K+XI3+5E.S#2C"[,#"NMERNA1$C,TY:BPV#*=&:6
MC*#:R62I"2\,11:T3#YTM" 7LW(EU^(LK-5Q=L*X1-6 FR@13UMV?=N8AE;#
M%^6)NR)8<LO/2RQHF7A]>3TBV'J9'1F"XA+CC>(,,7\&6N+8TZ;-97\4& Z7
MQ:R&RPY\RLB6>?C09$_%%CZ2\>9T(.H+0:OG?;M%;**F=*+I=H/ES-J\;ZPR
MTYR[F>;FRU5'HI*#&J@:[01.QA?Y\6;!KG-*S<JPH"7UM&6UW"P.)"*[,K3L
MP*:JCJ<6^R%HF1B^,UU619^S32RH#SM]RFA4^S1\9G+XF9R>J^=+6H?31[UU
M7V+;JWP>=C0Y_$XPLK2E$DI<'>==C5 9N1; ]R>'3Z5%(M^<K)L&42Y.:F[#
M2Z?S,]@TF^@ KXWR8RDH<4+(!XXQ# ,R YL2^-.F^=#M<MVQHW%6(\?12\,U
M&L9,RDB)4:T%;C3S=V'?*.1:PXHA]6O-+2O1R98#3:MW1^IBC G#U7+1]@;%
M]*@#6B8F2BE+$ET5^YXA:T:V[5&,&@[@,S,)C=[,_;E..097YX5NB>MQ\PH!
MGYD8?*4]X"H;5NT9,D%DL.QZP=1'(6B))V8_K.>#\;HTWG%;ML%M)+9I"QI\
M:%+Z;+_.$4IZ-^0&3:XMF\X0YVG84SSWM*EL48U,IYD?<%HAS(]:_K*XK78D
M)BFH>E@+^BN)*G+!!G/X&MG0)3"E3%)0_JC5& ]GM:&XK4WSBLF(KCB&STP(
M:DP&)K^:+6QN.U5;V+;$4NT%"UKBB;GGE*&RXBQS)=(EMJ4LZU-OM8Z:)B3E
M52;V-+-M9<6TT&W2#EMN!JNH:4)20Q%O%RW2P+% ]2UN/?5+31QV-2FI%6FW
M@GE6'G#II=V8<%:G4"5"*9N4U'(V[1+2:K0PTKNZR)'&H$IW.Z!E<E3%N3$?
MS-A1&R,:Z2K&MHM51X0/38Y*DYNJQ*W]G,@/N,&478ZZQ5+4-#&J8%.J]Z?;
ML2/2D_6J7-9!3\6H XE197.AR5%*4^6$.8,9C#F?+K(=*9<<U:*T7>2W<F<A
MKAK.KMBDQH4=,0,M$[-J:\W^;#PV)P9 GUV[-K37E19\9D+]!XN>F9D,LI@H
M+UJJ:#&6KN=9T#(I*9,V,DL3R[2P507+S/R9OTI[\/5)2;GD;$"$8A$3!:N+
M&9-6B0FFT5,3DO(QRS#$WF8I;B69$?)Y<S[:A;!I0E+-52_(U"L6RY4W!;&K
ME )R3,"F1,( UJ,ULV2ZTIPC@L(4R^04U6%" +Y)J397?6V9K9)S+-WQ@HFP
MG>/A,&J:>&HQO\0*'6HY-6C+H]G*J*D4W!ELFI@!?IIK5=9$2S-6/+G &P/&
MJ( E%31-3,&RT"$(<ER8&0%CK3.UA3L(M:AI<@XPOCVGES4[S>GU^;;@<B*^
M*<=M$Y*=E_KKDKN>-(VTPP7^TII@6"=NFU1"H+)CA6OP!CVNKMIB,.*6&] 6
M3\JKF*,W,C#%*B:457^]7C)92YG!I@EY+=>-!556K86X#;<LNQD67:<2-4W(
MJU++\*5A3]YBM$EGQXMZDYQ9(6R:D)<M&V*FB"E#3LN4&]L%6YA69E'3I+S*
M@WIME1X,*E@Y+<HY(U@V^IEH7"=63+)J T8SGQG\;AB$;7M*9<.X;4)>+N?M
M'-4.?:.@5RJ[/K4=CJ<=&/1+R&L6M#DQ7S5D+J Z/4P3>K-T-VJ:D%<PQQ8C
M;KY2C?I$V<ZSPG;26,U@TX2\)E5\XI:(_,S01#O3)-M&TZV'L&E"7OU<EU^U
M>C6;"X!M#X>Y=& "W 9-D_(J-$122#<796Y0U#49%S.F48]ZD)17B1"HW'A1
MT3C9<P;:<-CH592H"TEY58=M)[];BCM,D,+=6C&GC1Y8$' R*:]MA^U7<\/6
M$!/JRWK?Z+:KM3F0%Y5LVC#8@;L6=P+']W6Y"1JMY4[4-"%:9M[0<M-UJ\L-
M*$#).GTZ,(8L;)H4[5;;59G*.&.D>^%$*Y2*0X8/8=.D*E:]":/VRD5LI9%4
M=FM:39R>P:9)3&S/<LRDMLN7C&UA-=ML%,_!_:@'2=$JI9&\F^U,@RO+%*.U
M26]$CJ(N)$7+JATB/ZZOYJ)&,W0SKV8RQ2WHPPE.1E,5+RSJ;$<D_$FU6"Q6
M\/:2A4T3\AKFF%V#LQ0=XTW;#7;TN#E=1$T3\LJ5\D-VF9UO.;IGD(V:/6B+
M; B;)O6+$1V\M!HV::P^+"]KE46E-_*BQR8%-LXUIU0K%#IBH2G71KPUJKFM
M^+D)@1G-DBKE5]226W7IK65*A<ZH$S\W(;!@7IRP9FW:YU;<H-<D7+>MM8'6
MG*"F /&5[DI= =BO<)F-L<%=)LO"ILFA 8W:Z/I<;AFR.U5<;UR;S^$Z<HI)
M9M<9OL>6<S1GN9ZT-M<M.<]'74@.K5OIM;2!S&:-<I6G1WFYQ(_F<1\20YM5
M\5 8U]@65I^:.M=>=\42H)WX"3+9]O#V&.NUF^*6JF*M!NTLBG'3Q 339:P8
MF#D7.'US/=UFB&ICH\U@TX1!S$>$3A8G_2R6'K)^."-"8C*(GIH4V!P\IQ4N
M,AU $@P9*PZ,,-T(H[8)@?D+I\-AO<E,E+,=K+?K=-ICN$:>8I2E\7Q'-M7T
M BNKV+:FN,5J-Q]U-RFPXJXP,/.^-^=X;)4=S[>4U!:CYR8YA8 Q5DT9+!H&
MD7-JZQP9Y%8]T/84_^PNIIV\.DR+9;/9ES9Z:68:(6R:>*I,SP:-L4VLL#J^
M6LJ],6_XQ:AI8AY(PPQL(5>O8P,J+ V==79#S6>P:5*X'C\N6QS64+B"I&;Z
M+8+CM6G4V:1PJRUJ6[1G0DXL:!V1+98$IE.)NI 4[E@<+[.M7*? #?B>D-8<
M+#,'OCI^BMD6YZ6905K3MI@NE0M33BJ8)/"K\1/4%@?KDY]OD JGB][$8Y39
M5)A$39,AB'1AV>D:TZ)(R)U"ITCY#C&8P:8)@>GF-C\FF8YFZ,,.G]-;83,/
ME]Y3[+;AKK=B>4+4#-KNZSSGVJ3NAU';A,!&M:5@;7NKP%CA6*XF5J9V0XZZ
M<()5;(:^JVN\RA%N*9MOE[.FL(N?FQ!8H[+HU9?MA<ZM-&ZHX7VS5U(Z$G&"
MM0X6+C;D#)'GZCN\N2[7U+Q-LK!I0F [:>@%JK?N&,)L5V'+>KV^G<Q@TX3
M %O.B5)?)#FY:LU4FE8F]BAZ:I*USHF)42C5TZ(PR'C ;?0:<C-Z:E*VW<(\
M-URS 8-IVPK1GE?T,N_%;1/RVHKY[<[/I:=&(.X*FY75P$DVZD)27G6R*RS2
MEI?'@DII-NRL?-(>@>>>8*T%#Q=]NECL<(-*9KE:E-*V!T5[@K6:P4S8%@LK
MW5@U<R2W&.]60T 5B!.LM:QS$\R9-&A1Y]E9WP:L9B1&3TW(:Z+(+-6;S!>8
MYI1Z@P[>"A0SZNN)57+03U..9"TYN3X3/''4RF>!SA"G6&NI7U[S?J=4,?AM
MM['SZ56UF(ZZD)37I)4KM+NY@,?2]5:Y7EC;;B$#^G""M<YWFPE!\(TY)H\I
MP6AA?C\/%FKB!&L=R-UL<ZL,Z^)*FNM.RU";5B5JFC3(=H]DLP.L)M(!L0O=
M_'Q5G$0=2,@K#,8UO5B=+,1Z50VDA3Q:-IGHJ4EYM2K-Z4S=TEFNT'9I?CFJ
M99QU]-@37M%B(VYWG,QA>G&GE NV*.M8_-R$O.990QPU,B1MK/Q:L)GW^SM'
M#N$UU EY=7L^YKKS@B3*TH*21P*],#+1C=4)]# K:K,LIVV= [I=Q<QVR=[&
M31-11(/&N%E/:-%B6L*'ZS[FM.U2!S9-AA']"5B^=2'(<"N)P47,3BL3.&.G
MPJC-JE2DIX/F%B/&.WTGU'"/3<?/34Q$09AUV-6XI7!U:H8'.8;MU/5("/?A
MP3C#\+"S&B>#*(YIRDM/^W7XX3C@#O<B][NK<*M-B??R'NW/R8'O/-Z<BSYY
MM*&6W$]+;CW[[J%C^Q?B<83_;4FB)/XS2[Z4RG2TUW?T? <\<VHZX6'#X/![
M&J;._(KWD4,@IU>W</=;ZH]V">6)Y\";U"^RF_N>I*K?R*DZ2B6X[-E&-"^?
M,R_T3QQ'\W)]\X+LY3KG!?N90^O+%<Y+YB>-<.P*YP7AV'7."\"Q%PLMH'E!
M? S-"\*Q:Y\7A&/7.2\(QZYS7A".7>N\D#2:E^N;E^S/#,*Q*YP7A&/7.2^9
MGUD&S<OUS0NRE^N<%^2_7.>\(!R[SGE!.':=\X)P[#KG!<5A+CHOOUG#[M7T
MI$\30G9YXK#]]ZYZGOT-O;BHC5ZX&LM5R@1IQ6N9)K<O@==R.I!=?$>M>(UI
MWKX$T'J![ +9!;*+[V87BF/"#__[@_CQ3FGD7HGJ_;$TLK^O("]5T&(5); "
M$]:=/%.Y[UO2A\M$=F]? D@'T%KY,5: ULJOI17(+CZ&0WZ !%!D&N'!%[$&
MM$I\+:U D6D4F;YMN_CS2 /S$[NLC9P[T@!Z!W?G91,%&A"91O0!P20*R)Z
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
MXTG__]E[T^7$E2Y=^/^Y"D5U]Q=5<<"OF*%VGQV!F8R-F3&V_Q!"2D @)-#
MX*O_<F6F!D#8-7@ .SNB]^N"1,IAK2?7O 3)3VZ*$*^(,1)L:</S:D[>8<J]
M^CR[X^2S.SB1\M 3CJ2<2#F1<B(]"2+E@>XG$4#S05E;LNS,'0T/51KV!)DP
MS$034(I6B!809U$UF=)=Y_8Q75SWI%QR<U-J]:8/VM]$U1Q['Q0L9UI97J>S
M:AJ6;2);-<F"+I&.1JK=U"3=\BM1U)'=&'6E34C@#3ZNQZ;9&!=FC1D^R*MI
M/[M0UX.8.(@EO_V;B*=YPR&>GL!/]HM*-IQ(.9&>/)%^O/C]\9+-J^<GO)\$
MLFS;O<7,F-[,MJ.951O$[A6]1"00DL;PO 3RA;(8RH:)\(($V3%-I,M;P3;Q
M%FN$+ *&^7-UUKTS7)R1>^F\SO$<;KZ/@8!WM.ISZO["U/W^(04<NSEU<^KF
MU,VI^_Q"Q]^-NL\C!/S$"\F=IDN"J:8%IIEV03&EVY?7E:ZOIOZ2/:!1[<2L
MVT*M.XM7;Z8HLYTVEW?Y02Q&/!))D;>B>C= XO')7_O\/[>XQ:F;4_?GI>[S
M4";.OH[3NXE%@Y1U(]=J#_E>>IQNSZZO'F[[-T0L(ET^GA6+/FN"0F$BZ6,D
MJ+HPDE136$'Q+$A)4/#[5GAK5XBG*;P,$8:)]RM*!_^,+3:"96BJ(OR72/[O
MM/"">_]?TP?RP2?_G@X13N1?D<CC'W_R',DYD7,BYT3.B?RO'2-?@<B9E^2<
MB)R[3/[ -E"0K$E9,]972!FCBJ3J\&%^9".SC61-LBQUA*G&M16$6@2Z]M-T
MTK_2KV>56CF1FL^*-]EH'G:*.DH. R<Y&KVB5^2<6)3?0US8XD3.B9P3^;EK
M%)_:8?(*0M&E;9<WF>RXWEL.\LIX\C N3:)K6!%UDSPG%'VA9)+_'>Y,9(V
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
M/*Z%B:+DP+[]2\V^PEJU)Q.D*6!(%LPP#XJ@(UNPD&UKQ(HM"*\I<O,.*.<
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
M&>7!)Z':]/VG [-A^,1H*&Q]+D%:!_1+@E[PY46T044=JZ11  D!H.%S9,/
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
MEGJ^L]!3;E0']'D0K-QX-1)AY-WU6;E^1P3#JUFEP/*A)OP_SR2"9H=71OK
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
M.M1[:,%U;3D?H\<C31ET\*6]3%MR]@[1HL8FDAKGC(1H=$.-VNMMBZG4/#Y
M@!:Q#QEN'M07QOE)N2O3TD"[*%C_$="@SZ=9(4/U+4,5$:]^S@ .423I/:J"
MG&G8CK5P.Y0SJKY\^^B^MAMZ@[4X26@KN<E@E'*JH^W]H;O>JL04J2@:FL0E
MA,J\5XK5\RN/VO!];$?HAM -H5L8T.VK%[KOH%N_.6/7W>(2YZ6"L5YKF[)1
M-NXO_F/=GO05W%P*FJHTR'*_VIXGJRN/G3%&GI'-.J3NOSWE(.WVHFD"A179
M\LB6?W! O "%]&WP:Q%/E? HI:2U]G =8_+T>#I-K43&]=1A3S1]004-B3<2
M[W"*]P5HH&\CWDJ'JVF4*,D:/3!::WZ#FT4,BC>\GTP\,<Q[Q/*/[%LK DWT
M]^?I[)!1^M!&Z2UB1VX]WBO7,@NM O5E;-5Z?;W$.#&2;Y?2I;@>;:=;&*2E
MA>F6]!-%/UCY5X0C"$="AR/AT=2^;H(U:O7QJI$C,&6>F1<*2F^VJK( 1Z".
M%G^BL=,@LJ]7A@T;%]"#4/^$;\P^/MZZLL_%LM-O/;#0V*HATJ1@49@OP^!R
MH;<2T>RZA+6S25PTU+16Q6J0D-]-I<2Q"T;L(VA T/" T! BY>A;T##IU>)R
M,IFH:!NYW&W'ZLVHYHP@-+@18@3S'C0<U4 +:7FQ&Y4^:(Z5B (:3ET'V,)6
MA@L]HJM+\%:_1,,LL*A$Q)*,D1+I*\Y*48S(.S4Z3LXJVW+$.ORV>U,,?RNI
MACI=3/UK85WL]>T^H?2Q!2&FZWW!KD8'[-$6C=K*X+>\L" QKJT8G]ZA@CN^
MHCI4O(U5EBQ+K);Y4G^9J6>%1LNFM1S+J*+(_OKCK$RW J_]>LNX,_'-$4OK
M@Q$G+#T]G-6<*L8E$C59I&6M*%YPQ$0M6DN-P(]\8605G#PG-J*#$1@Q6,G
M$3]'4N]6^E#6,\6PW7)D;VR7E0+S>6?@KVMWK^F;R+\N7!K[=3&8K\0OO-EV
MQ^]3RQ<&7"%-:&VQNAET#:%7;1T':%%_!:Z'\PQ^UI7WX)$^6-/NJ+:<Q$FQ
M*VRP=7I$JV(_MUT!\_'Y-(\\ L!%WRWDI9?A=87R2RS#HJ+EMGQ670J5;BS-
M4:P9U\S:+9:!H)QY=]WO&((TMUO=2F4PY<HUN S$V\L .N9"K2M[L/@W@.(=
M"_!+L3>X6' &GR*68L^4 >0 US?/@34T+W::?/N<\TNZ)0A:[I-*7&0& UR,
MT30A,E(\+M(21A'R$/S7Q\$+CNIU.8-1S>PL>$9;"+FDW!+2I7JC%E32K6?&
MTU*T0O#:U$X-C>ZR9F6:(Y$X+1>6;19J&UO.)S2UG2^SB>R@11J!Q=_L?K55
MH)-+%9OB"68]I8U8;E +*NDV,*N)16?86VCTMM1(:PD66^"UH/)K,WELZ]6B
MD1$J.J<D1&,\R>HCT'+W]DN7OLJ8IKP"NQ!L[5=<&_9[)<@:0BX[U69\'Z/S
M:7O.<8Z.0]B#'52-A2*SSCOM1-@,OWW!LMBW"I9Y_^XFT)7.ERF,>'-XE?)E
MC<%8D1>Z4AGN.G.Z8+$&W:YDD\DA5F%ILB4L)^O">A66NF50"1V,H8)D1]R:
M8>!7 *8;8);YU<J@9C':3?4A7+Z)EI["8?L5QNQ7Q<BN6&[LQ,X]0DWO+WO7
M_5\X !ZV !D3>V9^:$D3SR_PC%$OE8)#5.'DY];\"?>Z !4_CM8EA.N"/<<2
M:&$NMC!_>>_YX;ERNTEXV&O0BT[!68IA8'2XBV$$S.![M3%85UW^5G4,7T[N
M((CS=&Z2D@[O'R+12%XR%I*UB?CVP+U&76$?#/CMRC'GN".,AVZ\9[DD],[E
M,))Y'0[U_FX&=_Z'@/L[SIK.6I0PGV*J4&:[>:DZQ;<KD?#H8+#X&<E.KW#.
MGP>LTJ8%L-N(#!:6I1B#3<2Q),/6_3L6&3H3SDI\^B#'_K?0+#21H6]!^1GQ
M+3Q:S0G8G0S^[$&B7_6M?AO\?*GF?*%NOLAT1E*-HFG;00P)U79\BI7TF-:F
MN0+5W[;I,3[RZO;$3_/OOA[\^1C*W8F[]U[5NWN!S8]BSF\:.W9M+?'F0P^3
M&GF!V--WU,ANFNQ,\$)EHBF%?$&=C-*YBC;R:FW@3XG$AV2KEXT"N]%5T"VN
M[5Y?IK)NP%A#F3D^,F,>,C^Y5W6PL(-D;"(SQ8(;09$CJF-') /8Z/K+Q9X*
M&JF6&R\D&9*^L57P4,-M:BDS&'EAC-SM&UFISGC_/>\5[,B=J(BMC. 3GB,Y
M)Z(:2U-?@K=)D?E",AS5<?VD@6]T%-OQ@I;VX7#PL4/P]\A2TA=*I"_9X$.H
MFP.!F/95P]/4_3@YU0 ?^C%.TF <^??N.>[$#!=N10-9M0?000.>,Y#L<03Z
M=>U_W-?"9X#IU13GX!G^!].%[J@S7;'=NT];!0LL6; 38%)5!3Q@87M38_;!
MVB[=FT'5F"W Q/V[J"P5/4+^\QQI!O1R88.'2H']BOP;;C4"^T^*2[L_X?_Y
M)S)5G+$).RLYD84#9GP+ON^%"2HVG$9OJL"(7\87<<S]I+IM_26"#\7C_[$/
MYMCKI#]9!T_PY]C_HG>Y"T8P40:PR_N%.=AJ^X<'+8,%YL18*/93!,852>Z^
M\F;FR5T+$SS( MT:.*9E1^P%F"C)=DGX8,N!3\H'6^Y^=B/@9)?IVGZ. &&8
M29:SZS:8P/V&?B4/^S'X7?)>O^\4^/O0DQ2PAVU[ 25'-X$6Y2C6=/\=<#ZM
M@#Q8[BC]"W38 .Q0W;TE]Z;U]>[:K]_+]@(=WLV-)PN298!^V)&^FX0.'@Z>
M"P7%C_@#HY'6<!X/4Z>?3@,$=UN)3^::*7:_F_YV8YR(PP(N_"X>X&AW' @K
M/+YG[I:$LVZYTK&7'?]=IX\&TZ2K$ 3,P&WE3Y/7K]UR@G-RH"]DQ1<0N(O
MG-GG/H+/8-M0I]&EX%1^([IT=R#G]FAY9,8<QK]ETCR9W&*UL1952U;))-1%
M+C?Z]<<P3\/?#L#W(+SC.31'6O,8_J>*!*.A7O=WO_U>'4"1%8",@0ZD5AW"
M?02/+"";/ASOH.'@^6,52+TU&&^ L TDL+./D,+=Z0'GS%,$:+"'PFR#T8(W
M#L!QMSL#W,TH@:WXZH X.G..CZ"='!R>%"[VO8B0 L]357'A?;BP7,@$(U'E
MG33O8WC<\=G'HM)7@'3!,'-PFD\E&6*R9)N&]^0]9.]Q;P:WC/LJL.<&;@;!
MZ_GS9_25IB#M#X_79_WA>L(^>_T[[O310L,%/7>T[%>TZ;\+93W1I@_%M53"
M1C/2+.("S=O9*H,WN;&R^O6'>#ZM6G?1J.&O.*?/. \MEDD.YH,:@T5)(68-
MM895SM7@/)SFE;S,@[NU3GP13W\5J7MXJWUP=S_0P=$+;=3Q?X[M O(EVNJ\
ME_=O7D(2L0..-]]S'<7CK^_D_^LH]&!O-<.8--/ZO3.-#\;EASP0KI4\4J)>
M9(,$TX1^2_I*VM@[GQ7S3.RSU7[OS6LX$Q'JF6'^)_+R(YR/D\F$X6X'4W;D
MB?*^=1S0YG_V07B%ORZ..?M-X,_N40)^W05RQ)YC%UJHUP<6\^(MDB)C"TK3
M?S<K7*#S"/X,MA\0&OTH4M;_")QY+@"#;<UYX8'VWLZ4SFEKGMQ<OW<%#KJ5
M*Y<K*;;)>C[R7)D#.G8Y%6D(R48NE6/K.;YQP]Z5*TV^$6E6(EREW*@4<Z"G
M?"J2SI79,I=CBY%&$WQ0XLO-FW72VRG$?J=T>;;>B/#E%.AGBN?X4I*OO\3.
MPJF%^'4@XN]"DRM(41Q[?G%P^)+T\N&Q!)Z(EO='>+;_&[:(_"_H /SF/Z^$
M[DAVC_S*W@OQHVBG5X_?R:&?@T S$B[CS$#L4_) C)$)2I04F1;Q1!R+27&"
M))3AZXA]L2%*S?EZD\>D;A;OU)=9Q6ZR03D(U2Y)M^*TG.&E(K.=.&L\GY!A
M#@+SNF4S,<E0PV%!%*(M.FK%L2VNE5B1/'TF+:9B>KU5XK&%G9*6X]1$:!=6
MH"7UNB4^BO4986P(&K%:JYON?)S:T+#ER=OMF9,1)"FN\ NI-N#ZR<T0&\.6
M^$D"ADX:O:@4GW8UE5!KA5&]GQ4WM8-TA9>61'>:%0RCI*E"==F6RUM2'ZQ
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
M<H=@FL7HR.&E1'XN3:.=M*C4KFOR#RNJ,UHX6%.0.(YMMI8RU5N-Q 0T^5$
M" H 00$@"#L^[QJ(K:;-PHJ(SP5E/2#2LSJ=I,HL0!,Z$$W0G2N*]WB<>(]+
MNA30_D:J=JCW]_W==)<4694B'/@".(TB*<F1^I*M("?@&<7SQMR;5Y75\/",
MWKF-O)/$G:9;F792]&!"E/EI(UE+3%.T-4Q>V4JVYU*.QXJEB589M>MCELUN
MVN1*Q#&/TX)Z-[D, <FWS>*? "2^C1QB'+DS@_F60/)YDSDA9-O<1AQ%L6BM
MM>AT\U2I)=<@M- N70Z.+M0O:R/_!&S9&<P(7$(/+E?,D!@OJ0%GKV,;+:/%
M2X2M;'F3<;6:Q*\_B( 'V4;(-OHIJ//ED I-7DXWU#JA"VV*:'2PG)$ME$80
M0V!,!160:/5@017OUAEHFHZD1QZS:L4]%HA[PVE\#% D "C97,!5"@,:O[O!
M_G7QZA4WGYN_0N]W)RN4T [U/7&'$*];^S#?:*N)#3]O%K!VQTPD^IFLD]6O
M3!8RH6.=TJS>S/)SIUJD,GA+;E4!T./0!99XH@/2^1&Z71?=WH@@N;D$WQS=
MW@P_N?G4_)5%_#ZXA=)<#ANZ?=XOEY4P:JUW)CJFS)9==H4MS2W'0KR#:2X
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
M92K#11_+<(YH%D>X7BF[$.(&IS#OT4D]1'3*NX47FJ8CZ9''+&URAZ4\WG#
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
MY.LO" :G%B+8@8B_"TVN($5Q[/G%3^%+TLN'QQ)X(EK>'P%.#_X-6T3^%W0
M?O.?5T)W)+OX@8_!?Z'WT1N/W\FAY)X#8E\A& G'!F)B@.-BC,1P,8&#DY"2
M29(A@6%(TM0O;^=+^\L O=28KPAU@%62\7ZTERXI5+\&3E+L=4LGF8D:4L/>
M" 1#CMEXL5#*3U?PS'W=LJXFC/DV-:IC;;(5K8EM1RKRK$B</K-<38GZ5!D0
MV,81R79R7B5:6=CRY)F]E;RB-IUDCE?3T0ZWRA1$QF)%\O2973TJ=(8ULB)$
MLYQ4Z!E*ODK5Q-AIR[:TUNN-;3LK1)5-C+-38[;'KT3JM&7-5#2QE\S6!8EL
M;/HDWB>V9DVD3ULF2JORRJPN=:$QQQ:+RA97YTI-C)^V+'6ID5'?)C5M/MI6
M:JM:?SY,UT1F/_971ZOWO;[8$'+9J3;C^QB=3]MSCG-TO+4285/XS2-_QE_I
MK<GH7)RU^&P*V_2['7'5;B\S9?:U;M(8C!5YH2OF\!V%*KUP%I9RJ,;PGB;O
MPG$3]"BIFP/MUVY,B>JT48[1RE C^@J6Z8]59]8$KU: IC,#+W>LA7()Q>!S
MSAD>-(*VA Q4(; 8>D0*LE&@,G7JOK 7?5N9+\"#H>URJERIP%JQP7=UW5S9
MD7^K!E#(S(4-="[[G]_7<^!@WW=(!7J?7"_;7HGR/*U @=*EF:W\WOUPV%<X
M^;[* 3%VX)W:1\ L+1SS&)7=3XZ0]!1(7]1,V@--Q]KU:Z?B> /_7(A9G'K&
MB?<N%@XP_N#Y)GCF$"SU;M)VO[L\Z+\]C7$%INE#9<U?BZ/30>K;I@[,E6MH
M:9^ZXOB+*+\#J^%[7GV@I[Y[X8/6Y3;K0CPS2%Y"N"YX_)EZM_((6IAO+<Q?
MABY_>*Z<Y\[QZ+",/Q,[#<%7!Z+>1U^\HG6?)"L#T],W7WE,7O]55PWE]P*\
MUX(_G?S9,_'="'AHYP%3[4S7OQ\=%#>^Y3ZLPWM<D_?5Z,'LPNWW_WX1O[X*
MS=AS["3$\::,LL'V_N<G[]#R^!8+@B^.-ZBH\WT)!?8%=38Y02E20>I,R"HM
MG:42F:</A*Q,^;49I6-B;#A*$&4SG<7FA8HN6[%A)9._5.SNJ:.D##K67,%,
MJA+HY3@H3R"QG=FY1K$<Q]K-HF86HU.CUX?.,_+7'^J))M^K;?RH6@E8.OHN
M=(,[ ;C'(-'_R,1!^'5V_(**>G-E!I5)G>O9::I&CH5IMF]1K#[GI_1*)"%L
MQ9[PP/"]GZF]Q9'V]DC:6^AG!:E^X8'.L:4H >#)D-@$WRA"49CW6\.RZ6Q(
MJ<J*,3<U](F.G\9>_0B=CT$Z']+YD,X7 N!*FPLK**==CJ5%/5&J8HTM0S=P
M,NELV9KH%DZ-Q\Y8 OO.5;X$4OD>2>6[-MPAU2T$" C:!B!@NT^,^$ZQ;V-*
M"]BZ"X[H8*.1Z)4 PM\K'/VH>EMSK%B*&QZ-M+<S(MR/*(OIPUUX;BP?"?L^
M8 . 6#=X13/R(LL!T->MKNP>SG.&$%4:MEP;61VB"&-B ?21=Z_[A1X7D#[X
M5_K@S?D ;G?#>_.A/RB@?IGM@):VYJS3VO)"(Z/UV41OG$TG8(X Z7(=D!3Y
M$7KN> ["P&MP'%#W]:#RUYP-ITF(=QTS[V?SD,.XU,>'<5'N#V4Q1@PQ41H0
M Y'H4R0I4S0VP*77.26=>+.L5K%6F<\H#7DHY869F0[,T1&3X[XQ'C7CO&+0
MS9F=Z.:[L/25>)(AE.@NZ+FYK#%:6\;+T\%BF&&Y6E V3UM/$9WLL&4(DE@J
M:2V=3^2X55".#I^4EXU:L5 0&E4UFU_%XLS"@"U/^BG-ULF654L06#13F:1)
M92)5FB/0\J2?I-ZI;Q+K]5!3HLQ$B,>(M-@-S/M)<*O2AL@H+9Z(ZI6E14['
MC5PM*.]GT^N)]8ZX'O)$B>37TYG..97 ;)Y-E<*:#5JPA4:T,<VE9DP2%T9
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
MNEO+:"DX-$0&:FJ,M=G.J,XQ3B8+\H^+FCK#0P_4+]G/EV-. _!<S&+2O<6
M'/2A^L&A^_H',8@11!$*P4@6LGR22F?Y3#*9Y#.CA$S+()L4T]F7#V];@)WE
M9?&96[/E=+)4ZBW*^788!BDZMWYNY'1^FN^5"]V,&'M6280L!R-+;@LDA[45
MQZT%K79?[F8>E:=0O" M-YVW5K4LMYX\/>4,J$+5IW887FACD*%*Q5J]/ZNE
MV$J-6Q;';38,+[K3A!E[<I0UV5T7VP-J7>B  4*6@WE6<FS)?([-BYR:-9Y6
M1247J\W0,P_FN2IELO/\3 <D(Y4?^,[3HO(T6H9AT&RF/.=3-17TFW).[6<6
MR4>MYA<JW1^9FI8T->M6IU-AP!0FBW6'K]/M,+3*2PI#=1_'Q7X>B/<-72V[
MH!>*5E3;2*5FU:?N%+3-ML$_*6H]T0Y#JUE2<JE!79<XX*[+N2=3Y8$>BE95
M69MV1*E(]:EB1:ME&'K-KI50M$K)I?ES?=$SN"K?R5"S"E]V#"44@MSNT^.D
M+,CK*9@HQLAV9N5UKAV**XH\HJ=@+IG3F<5II<=18V5;X6!!*H_/DB&P?3*6
M ?.DV0=%MQX.%L/ET)FL9X;%43;(%AN"EF=R>"AS0(&T#(1QODEQ0J^F U9Y
M4$MH]PW=6 ;TL"\SV:E;?ERIG5Y'K>HL&GK(?[8ZL&8ML]*?9=+<&-#%88E;
MAD)0T[1XJO^LU[E9[2%K%4;%^;"KA.**V:DTLG:>;_:%]))?)>M<OY[#N'(@
M_OU"?4$6:GRV/T\Z*]ZH&BKO0="!_&M&H;N<6+,<M.A&B6)?CB52!6@KA#"6
M?E:$6FN1H*9=25]Q3Z[#4L@ "4&4,7E?7J\79HN+S<M=6ES-4O</"AIZ,(&J
M\CRO3!=Z>SJ<T^R8TZ5[JLCR5(BX-.C']"1E2SER7AD\V;'&L#^ >D6%B OW
M*#^WJ-*3TE?Y05<OSYOIJKY$0P_FVIH^EVPS^71/SN]S62&=Y@1RHJ"AP5RA
M+XZB*:KNXBB*]\417V:+ U,I/-:YX>-346^/Z&HZI?!H:,*+O\!O (EUWAN-
MIK3G[Q\EBKL?D>F*8R"Y&FC*G P-5V3N;H(T'<$!'0#?*:J:BM^%_;L>G$%.
M,\3ICV#%L<?.XL$N),0^54HJ)7FLU]KWRQ\$L$7!A"]S+!><(M(0%GFAF9>A
ME]X8$-;>,I"'ZL!/^_%N',Y)<%S'L-:$A6[H+%5GC/^8-V;0=5VC($PB_8]-
M@( ^N+P7'HN.HN!0SZU<0[\&CH*SD(@"$,%L!*RM4X0N_B"GB%!MPG9G<()P
M01(AV/ AFF8L[5]'=.[^*#@5&H?]G5@5CK]M0CI>H%6$BQ5,&_P*?MB=.N*<
M'P!!'I_HQ1#VW$0!<FK?1\2?[/EUAV[=8=#+L8*)!1$7CQ ?.S5ELG$F^]8Q
MP8[+N?-\ SY3AKP.J!;\'D-AZ5]> &L)Z?1N[,AGQIZS*HQL0W.=E\[J^0XL
M/A'4W EB_EE0GXIGTA%?+H\OB42<9B+&7!YC(H6Y3+Y$"G.IC(EGJ(@O)^/+
M)]/7WC7$OD&^QGL0?O0\A?#CH7VBC/9>NGO.M%^[<[^.Y^@H^2L>=%[0#94_
M)1AR((]$G*\1ED@TOE TZ&,1YYV=[2)$8W^MO[=;7%@)1[_:SF[M>.!E1Q&"
M\R(Z=30$N# :'.UV8J#AEU7'\K<3^4S7 GRFW*B. 9-TIS-^L*H+=FM@".UC
MI_1^+I'O(\%B-FAVV@UD>&_P)NDO1FVR_JQ^+B/,JW2S/S3DQLC6UXLJ\$\<
MJ43\K5)2MZ40?QVY('^D%[^;X7H1>I'+V<VYGJ*R4[?],%T]YFPSMD9ZD3R=
M7GCVP*7IQ9]N_N><O"<<A"$?HR7,^2WY8X/33=['B_@;\?=,[M971:ZNW OS
MRW,"S^!(,!3Q<W:,JV07:5=&!N65.%JJ;D@?LB9]P85RVP(6"B<)2J@)J:WL
MB3)H.#&.&:EBE3>UQ./*3Y),I>.'=6 B%8A4X*P^U=%5H-#*U>][ZK1$4ME*
M)S?(*E9QK$ 5@%Y4,D7=D!MUV5O_.??YDF:,!(TH0R'1%14EJ-6,90R*%9 (
M3\2(GZ5RK5<^G@EP"XR^9-O_\A#Q$J*O)55S5!\/P\#P2>U2RRK@T]-ARZPM
MJY5&@A59/H7L 3J>.)TY$*G#=U.'2PBZOJ<.;B.]ZM/VO4E6%57-RUPA7Y 5
MJ [0-B!/:1G<@CK<1 2@APY>L239Z'Z [#5H(PP3>-)\C$)3D4/T'?#N$K9_
M^&$>WS12 /P0V'Z_P=#(@)HNMC*MYS59I9-)X":MNOFPY!ED"23BJ2@P$.G!
M]>[[G]"#Q'-%Z^=;JP$GE-E^JU"NSM,+5$P F@ IACI-B"P*#UQ4>* #'-?2
M"<<@S$W!271[D7#-JW" ;NE,[_( [>S!?D\\>\:F&FH/RF;?# UVUHL3>?Z<
MG9)"9I@<-!L+QVDJ?!KMZF3\K>IID7A_4_$^>R#_$^)M+ZOT8RO%STBJW:ZT
M[OM/,JK1DL8944PRGHP\]IOWV(L'+CH!?X)/!;I#2"H4. L:??!UL8TW#U;B
M6("V(*$(*ASNM>.T[:-4D8Z<FN\ DB>U 7R);FX$NA7(<V$CSOX8SI?D$A)D
MW&$2B7$85!K%F!JKK58/Y-"V9F":U\I34>$SGB40'?Q'JG")]L))5$&<: ;3
MOL^VR'DK:62J8[>L9I$J0*LAS<0/^Z-%'OZM>?A#U1F/#0V]%-VUN@JW)SK6
MO$3X.WLT8$>4X=_?SGUR]2<ZNWYZUCBUULHYV3'HCS(*G_6,@!,&^2.]^&YZ
M<?8PPF?T0LO88V,Q4;/]_,-3C>P*:HMO(KV %D&"9$X9]+\%S;B).$('V$"P
MQ#$.!TA@ 33#G*$8@F@!276NU1^Z%G2\=#\J%@G MQ*  SI]N '7Q6V9GSTI
MQWAG!W@8&DRB=*&F%^QZ7VUU*V:L,J@[2US)'FZ83#I.GZ0M5^1#7Y0/O4V5
M0YER*BIA(WK5<@D;.(X&T.X9>1"WZD$<;T.,6'M>UM[05O=A[Q!^V-V 5'D'
MN[;9X2^Z4NYL?S'.G-&]"<=-74V=/ZK/H\4$M0;!?7DH.AF2*7Z\_>\6M.4F
M',8"@,(C>1L?L*_60?SF!V9G +^SAXP]R2W[@OL1Q'N>%DVE,56Z_1F9?VB,
MBO-^H\BB1;QR?!S53HC4X5IL@<^K0Z?B+E8)NK0@06'V0/:+Y'S5P5V,4, X
MF8U3D0-\^PYPD'F&N\ $F6:.*FA7X1E]-=!],U2[A.M?OH#NC2CLR.F;&/?8
M?LAW*GE6[C/9FEE9<\7>@\FBMHYXRS_,DKF.6@F1V%_E9OYE8D]F.=HEQX9%
MEA1U6FE*$Z&[:".QQV?!5$B61.3;WYQOCXJR@MUBW#K 46[9+],] CJ0K_=0
M.')ROJ,Y@(4:9\9"!F[&X1S9U_&P7RK22CVA5Z?-I<.L1DVQ,">7J LKOAA^
M>(4L\ORO4REN)T7L2#IQ& 2;KY9"E1X[Y+PTIJ1LNY/H97!#8EP>YB35DB*7
M_Z)<?B@A%A!L0/R$,H=_^AM:"5 S4&M91<?=7)&YX-L'-O&3[>:)=)*\#N<H
M.BW]5L;#AR.D@=@7?*$OZ_T=B8=?R?GR_J8IX:Q-TYY8/9+KRG*R,VE82FFU
M1*W7<;6Y4YH2D=)<6/;(U1H7)]&9 U49+RLKF;(X@XQ1?::ETL(J^<0B54%1
MB&PVRDC_!D&(O'=)'=H7"T%SO9[U FH3+^ABU 3L.KVL&[(>/N-F>:)<U@M
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
M<0-F3S-0WAK4W?RNZH9@XC/H-L;3S"1!#B4UWU$&TJ(Y9_DTLG/2=^G488?
M*(P3Z7\4QKE@$^E3^F\I]4E_TBX-2)7NIDJ%97/2&RM0_QG4(?0NE7BK3-NM
MQG(\P]++)]F&;: H.*I&F((J11&<R-N+(CA',V5P'Z(#' O4L&$XA8T2]I$.
MMJ *AF!9CG(YFE0:V6FSOI+JG6&G6%@K? ;9,O0=E3Y1Q<DH:G-;>AQ%;7[7
M)#F2'B<J3+ED9!HY<CVO/'1U8]HSDTNHQ\@FN<NFJ2A.\\_Q"E-'P9A/.6/G
MO@5UYF#-N9=_2<CY)<$<I.4A&%DQQTDW%>N:9#=93R<2B\=*R5GR67P^==@Y
M+ K:1#CQI4&=<R__DG#B2X(^K^!$.ULD4_;JR>P+4ZWQW$O.>]-T&^($SM-Y
M*[I[<\&=!(5GTC,<02.@N-H[A1D/[L(2(P#9 4[4K30*_MR:TQ@%?XYN^I20
MBH9 VL.P;_1:RU6'!(XU6V2ZC' OLGR"1+9/@KI+,H=EOJ- 3Z2S4:#G]&;(
M:SKK:C$E92KIPG3N"!WCX9[.Q])+I+,HII.Z2R7(;Q[4\28R.*&Y$;END>MV
M[2&> WI\N/7)!1LZ;_3#WB(HR"E]C:RF%Z1@NWRK/YH[DPE$T 2^*7V790[O
M2A^GMTD4]8F@XQ:B/E\.'5]A;WT(.JJ)AT>67-8!J2Y%9]1LLNNG/H8.9'S1
M=^FWL>.V T&OET.[(W3@1,&>(^+E&='A\DGDVV,7C*"W&&1J@+#;K<T1-<_6
M*Y3(E4;E8LT66]R05/#,4%IT,OM6"D(488J X@MJT$5 \:665CA0W#]I@WE_
MD>UQU4FONBB,:X7%A$4SP[E*Z>1;H>AK"&N]K@Z)S+OZX'UQVU;K"TN 7PR9
M+@4UHGJ>%W,I+?$.?%X>G:(H4*13EWW1ZVPZ=7/1$6\B86&1G7:EQRL5_[UU
MY;8.U,^<!//*XHY<\3T2V-L1V#-G@'Q08*_!3_S37<>OY;Y3#16UPR[KCJ K
MZ+Y05'8DLF)OWS/\-&!<4?K#R\N!M:TU63(,::EJ&JM+6XWWPFZ[B-"47_XU
M)"(W)#6Y6UF;RRE@1V#Y8.0'LVZ;3Z3P+>##N'V4)!$!R^V[QY^.V,=NV,,]
MQ?W9[RW39S^U^VHW]]QK/5/E]4C*S\[Y+\WPNV I_W)3^+2'S#O6\&M7.1_*
MA8?[I<;T.%6:&8WAR&@],DL^X=4O?=.R_0X1A'>S^G;"UU$P(4J,CNY4W$!0
MX262EK&Z[^-I")2:6K7ZV+& /.UJK0'WH-ZS(*'PB704)(@ ([I)<6F <4+3
MZX. D1T/LQG]Z:'*Y=,IT7[FU%*QTD: <1K;ZUMC0A11^8)SULLGP>D3"JXU
M$>][RT6D&E^0NG!=^717%JKP)H(:K;Q>@"H*49S7XZ"AR2T9+JK[?@DNQ['Z
M97\D/'&&I5_2;:*ON':XXVV$7RQRE'Y7[SZII?Z:9LNS3GJR&(^6?"+KWT!D
MWJJ7$\4H(L0X&F)\)#[QS1'C*^X?OHL8SY7<(-9>4)7INGROVNG^4R*591%B
M>%<1$X=%'J(@112DB#RQ*$@1!2DBU8B"%%&0(H1B7CK%ZV&*XQ9)BCR/"TBA
M/F\HXCOY#><K<#1R==-M].^KTW7'F)KJ<VE9J2UY*O$%!8XB)?]&2GX%5QUN
M(#CPBI+SK>J@7B3M:4F9-\EIF>MIDH*4_%3%B:[9GCE%>FB$:U$MMRN_37)
MM-O/#E7H=G;2+NCUJ>JNJ,<,W8'4@[A)G3P[]'LK0X07T;V<B[*O/H@7)*-8
MG=6"ILFJ-K"?Z59-,*I+A!<W<3'GXK4BBAU=C%MY^50Y6\7'BR9+%)F)5.BR
MPSI?198;C7N\G6P:M;HXJ1=SHYEA!Y&+;YX&=A&)HW5C(#]7NA.&K*;7G4&]
M7*QU%FT>3N[TB:.1XI]?(;[J4.?<Z[PDQ;^(_$_ /@KS,2U0TUA&>IXK,YM<
M5!6D^!_-__P?1X <_#<8UG!GD/+B"1)U)J[MJ/)ZSX;9E]UW%-H;N F ?4;'
MX=H0)U7=ZYL&/Y'41? O_"=XHZ@!P4+:,'[Q-AJ]+= %\J^39#*)D"+ "NA!
M)0-EW@AT,4:1WGJVL_^/W>EOK?.8:&B&]2O0RYUUC0%2G%\45E$%Q$86$*8Q
M08:O_B5H2V%M^^O,9.)4,M#Y7QO=1I0@4O%,YB]B^R.BQP$Q9\(JMD.R/7/6
M^U;P$=;EX#/#5A&/?EE @\Q: /3LO:=BOCB&^8N"Z(OD O[JKRJ1C"=/Q*@7
M$(L:H02;D$",+000_]EKYD-%&/T,E0OB@.8]=NE-U__HQ[\]I(.H]FT>X8V.
M+H+YTBMX$GR<->R^>V1HTNO2YZVLW&@T"VR/]4H?E!OY.,$V"D2WG^N6"V6V
M4^:Z9YQ=H]GCND2O2>2;C6ZS5H8SY0I$L=Q@&_DR6R.Z/?A!G6OTSC9)3U*H
MC:0\<FRG2W"- IQG@<MS]1S7(>C$'8'L2$Q:M*_LJ/B;T(05*0:WYAUP]#1I
M^^&^!AZHEO='N*F(/]$(XK_A!- W_WZA='NZN^><>B_T/GKE\8$>"GC3XNEL
M4I2D5()G$@F23XI)AA^EDB*?H0 M"V(B3:>H'Y[D"\$V-WC6'CB1$IA^["E=
M:!>32964ESS<AU^.[,];DOQ\+W)<K%TI-OD2%YNE6#@R]7(DV7L&,3I;?21=
M>JFE++Y&V466IWCRY<BU:X%B7F/KW-R0EODQ22?E(1IY^/9T7QK89*_!=>GU
M6JCFQ\W6\Q*./'C[0W7!I-L%1Y@V"\D\F6NLA5Z'Y>G#MU<KY92\R*9H;DA3
M9DE4JX/G]I)/'HX<I5>EARK-TU-UTLMF5J(E5V=M./)@GN/JPV)<S9:>I]U>
M9^W*0!IFFBP<&<SSQ8;I?6_$E]GBP%0*CW5N^/A4U-LCNII.*3P:2GG&$OP&
MD%CGO='T*3;0, N#9D*P>[NEEG4<#+%M*,N$,P8$W VUG5KDF^C);M@$3@ON
MG#/X>+1D6X7[HTTLQP"5<"-4AU!M8F98@-#4*=#6\+%P/] -!_W@H!;OA&$1
M-HK%F*C,L?<B].Z0EQ&H0C+^\F@S-[A5Q(D>'.]J#K0BG8-)O_8L."\)F  3
MAG!-.!B-5( .K,UW9=>!THZ^A;<D/V@DN59 (!-RP9#@PW2X9%4<$PZ8P74(
MUIJ05!F^%.@B9*!@H3E(+K0YT7.@J8VB381AXG?!9VD&HCL>)RP$5?.6Q=IH
M$@4@@MD($C/ QCO\ZKPQ@YOB>B-G-N$8D!FJ[L#_$P*Q"/KB(B)[C7$)[Y>
M*OX3D(F82/]C$WG(24F%[$'S*P&X&\.=VQU!EJJ"!8UN?V 8->-'W%3^3(9[
M.Z0)J &G^@H]9$(P3<M88<F!TOE?%Q >29VL'S+C>4H-P;+X03O%SK7URNG'
M[&:>'>0*SZ2N_/@W%3^,CA"0D1JF'!2,$Y/H0X[DUY!H/2"-[*KK*OWNTRQS
MWUB:A>1ZB?I%QS-OT"A<:3'MT/KN($#9)A"13:"M/>Q"8"!"8%00QF#=='"2
M7IC,+N$+!$0,B',V%N%C<Z3@>@@([01?:GO&K@SG8G/>''#W!7(]>GS@E\/A
MHM1@_X!!A_QXR;(\)DY99V?0GT.N/T0'^)I0MA5XH9&I/[IIKKM8%5.M%EUT
M8NT?_V;>Y!KD#H0[B/!?1E9ZCZPT/V(D=CBK59_)?+M0*0$J[^C#Y=>2]9":
M=J+7R/8TZ;'?U9Y$)I.O#YPTQ GR+6K"22(I]CRE-335;0)MM-(K:O'RTY<Z
M<E&;2Z"GT'QPD9Z&;J6>&86-HAUKP1FKEH17+!NNY8R)N2M8#K*7H+AY.SLT
MG)#!L;.)20".F.%-#%I32/M?-Z=VO[<T7$U"AA(V7> \/;O(>_@(FCDR?-Q;
M]I$'1$C6X1^@M#O(0(%SW_FT"E<F&;-]=N'?D#4&5^T_!/I @5:A7T-@+4Y
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
M]YLUV#O2*;E^!=^9J8$5+BOLMVXC-&%I![VH_*1!57^C8JR%W3=4B1I5.;8
MW'QL0</EQ(-"Q">0_B,$SH["]=_+7MVKA<\ .T>6)_JT:5762K]&/S9'[]7"
M?Y,C"(B$W=+O(R *KNU)"%@)&Y$P\0R]\?I^T6H,;:BJL&BI(R#MUYP&*R1\
M?LGI-VH)OU)C&HGQRT]IW+-O^R0HU(:K25XY;8% ,FVA N<JG('H$(8>6M<8
MR+*G%7@B4$) _)5.9U==HMAO&00RV=$HG0!\*@$H/ID0*3Y#IC,\D#.T)))9
M04X<M Q:WX]KCB+G\E,PZ>K)7CK;9YAV6,N@JK8>%:II4N5B,>8A47PN/?13
M;%C+H+J>4>M.%HSZ[C3!=N\G([5B+N'(@P8[^C)?[RPR4VK:'3I<8E+2>B[-
M\LG#OC79XL-]L:^/*EQ5:SX4N[5,+&&S8<V%I-6\5:EW.<"ISVTP56>-86O8
M#FLNU$X9E=QD5,J0)?%A:3Y+K?1TQH8U%TJO09^KFWUYNBYHM/S4'C:*6CNL
MO8\UKK0+M;8A<^Y K57(!)4HE]MA[7W<!U+./#W*PK1*9PUAV"IE^ <T\G!%
MY599'SWWYN1PG'AXYF?36(9%Z0D[?7A.4D0=A^UJAJ[TX+[1'$&Y]IJS%U1;
MU' 5]\-JZ>MV,9%K@ %)4GUNPF12=7O6:7M@#=4-2*SSQCC<)"AQHMKJ!Y4<
M7CA2.[T)F/AKQ3$^_B\B7 SMN(2Q)=U)B]Y_@%_A)>YEEAPFJ\M4=CK,]/*-
MU$2-33KL(=/"QYV4:9^WQPT'[@M:&/'?W('0IH,6;*LVLE[\4.FVM'Y4V/YJ
M"MO3<9KYGH54WW"N/Q$DBRI WQHCOF_)YPMC1":>COAP 7R(D.E"&!$ATX4P
M(A-G(F@Z(B,^FU+RGM'ZA:O^L@/5KSY3/NZ:CU SF XY4;ZLTIC_G*-(<*0+
MI\\=V.17?D4!6.K*I?R*Z_Y^+9\35\_G/ZSL>SG0E;D=Y+JX)9_^\F+B Y+\
M.A$.1/M+J/).<.-[$B72CD@0/N1@7S55?F^;/&MM&_C,%M!ME/BR>T88\_*4
M@$28_E\U5?#(<!NWTRX&(,[-_>/D2J<OLXC1%=^#:!FV V:F9JS1!?0@LZX6
M:*%W%\QA=:EAZ'[MPI"LZ9GY.%R/M?F"Z[*Y6G.1[M>[!90Q1/_X-WV731[>
M/HW4.U+OT#W[.^OW"6X^'$>_GYZ294VJF#4NQAB.3I=<(/04J-\,TN\$=5CJ
M]9*=^@/IK:NB9=B&[$#S0T3536SB?VW7/-3J=#P%OZ"I.H@%YS+HG,0Q3/RD
M%^N"'\.'_TS\#;7=-6_+OSGO1;"O#71='DT\2^AR8G\W8Q;AK,X-'-1\--A)
M[PR[,L;GGA+SL6Z3PJIM%YCY8E6TVEY#G^0IV_E<7EP[TO#C!C B%3^^9?0[
M*EX8L/W,>C&K]D&_E:'U<6TU:"M>-Y]LXJTRS5<1J[D\\;]HW^X"*@E]+S)$
M@9\C6SCXWD;(Y940Z%/XPHR<E1JC*6B76_IBM$P91;^E3^:.SKQ5V#%2_RM4
M_U<LORC <X%FS"?T&!B-X1-=,<U^?GX/R@]MRNBU_%8]F3N2?JN.S16$<&K
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
M\U:RZ4^^XRB]:8HB:W<DH*/"5QBQWW$=DA4Z/?[1%$8" 1O22.T"HWG?<;+
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
MEV&)=7<UC:YE+RBN$H_CWS$=Q)QBTBT4':35W-U-=\.DW_ X).^.C2%0>O9
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
M] 6<WO#_)TZ(=Q]$ A+XO8$"7K/A^U\CG"B-@C^^_UMD)-IGN"NM+319$=H
M6[8T3O::$Z*87M=P,<\TY:P[S?"-=T?R[V+<KTF.V8H$R0Y3@FQHL.R=T !E
M!XI5'<)9VAG3@BOVZ>YGIF]WXB3E"^U%19'K<8.K)IML=+90R)KB_?C'G"K'
M%%Z Y[]&FNY@#'-T@7S.+&6H6,I4 G1W1J(3F8@KF($KSF8&4.R@!@9&0=$V
M7<>&O J3?]\V*OB^I<C!?@19PAM0/]HLN($ A33'",#!4B1%6RBP."5XTRIB
MNV"?97^_IK+]$M&&\,U^RO!F6H"ZA@C?-ECY;TJ:0'3\?&4-/,PQ+?OU<^P
M-;,--W#%J4AH3K6G%^F90$J-CC>/>W?BAA/RE]X2I*98/D^D-T0XR0ZQ>-M6
M6J0N<2MF*+"Q8ES)Y($@5LQC;CC8G!W=@4R!/1DHRO2-W&"S8#^N^_7?^M))
M5=LQY;<YK'9+_CQD#]):9M+)3V:<5M%R'8?/+QN<]Z#GU6^LGQW;U6FF; HX
M2>3$WC*F#98R6#_]DDC$OWQBO0/"H-':,3P=,]U06_I0!OOD <SSC4_PWWU@
MAHW7#&T"%,:@9QMX(/S&NU<&'>&V7'QJ@#:%91BT+=3+VA#\&:(K^!88KUF1
M;8+J%V;S()BPK[U&&@HL1Z'(^\CP8=V++62,1#DB+D3-\$]&V#MO4]X"$MUO
M5/B0TK-WVFP,DT""MG0"&DG@*<AOEGE2H%9)L:K/>N:":\J3OI3LD4X.F&?_
M)'#R)0Y;87Q.WXO,7 N^Q=FPY9;XT$0E8O^Q-Z-,O[Q/T&[QKGTA/V2[EN4W
M=5P=G$20W2+Y::3@ J6'Q(G$R\EUGD"/?>@ W[ 40"MI!.LT@F'N#%+L?Z[B
MFXH%W$<D!#M!:36>+6?YU)KQR!;N=63MT#45_13SV983^  :NU74+%.UQ,D;
M< =YG<2.W9@]=AMGM+[).(RL,[31;_;$2C:> /86^7J,W!' "\:F*RKL5'K
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
M WG>72(2I]MHW(X?CIGE0X8(FM2**@ FV_'_=O#RR-E;7K_;M20<[/+1U;"
M!/X[MMN^N;_5,H-3K6KY!S.[1_+@E,L&%&_ CTXR2%=LX@[?;M;U569>'H\=
M4RW"$^_DW;' PP\E7 &(LMK\OMG5EP#C3[#&*F+Z2I.SFOE.&A\>3C##@><'
M$@33EEC@A?R9\_\CN+-J219Z@ZZ^FO081G8K\7S,.WF]^X]T\/,N)\BY.R^3
M_Y_P\[&/'UN>J$&=H66R0'<P" )\D]PPKS[EHJW$$JOIV69)R%6\1&*R4L/(
MO#0G=]5&QXSR<Z,@Q5*)?DOC ;HYWHFK;AO._ 7WGCJW=EJ53Z,(06Q5!,CH
MGV!6+%H9N^MJ/JNO4K;LS3G7&I;OPJR^-!_P*ER""+0\8_@;A E@WO=YOZ,-
ML&JFJ^T3H1(Q4@RHXT!=QPKT#F4)=!!PQODW.,7(3(3Y0]H,VE^;>.';H0"$
M9>@"A14&Y.$XT=AVFX';LM-Y-EJ:LE0L2;-AV%V3MHKRV\ETXM1Y@4_6MCKN
M1APA0NU/:Z=&.^(R6!-0#GU%?M=!*ECKOL+D:XL^SIU\K:^&3TW'OV@KP\ H
MC#UL=<D#Q+CKS1:H?@Y%S7J+[^U?O?'OLBF[5DQFL'WRIH&HSRU S82D\F_J
M&F")6%,"Y(,Z[.;R#M@J.&!B CTU4'<#YE5D#)@@EJB^GP!\U/;U!T?/T??$
MMQ9@@34-V<DWQV_>'NJT*N?CWL8NA2''0 5\F_4OND=ETTFCT'3;FJX1Y75/
MG5?B!(R WJ-[U+4"C,_4*>D@3YB.OU*H_<O9G+R;M^4YUQ84[<N]VB71:%]"
MN"]$'&U,*#>&OF\S/K0OOP:R#UO$HWVY'Y!]V P;;<R]!":*]N5Z^_+%^D;G
M[)9O4+7GG(EPY1NMUR8*L*KAA__O1_3'[ZH>S"M.A:I$VI]VE<N85G!WQADI
MP0^PV%CP$P?CM\&/VTL<P6\4\;*M.C>X!-^= \+;%]%#V(&PXS1VD+^+'23^
MFH@]%79 1_'%>K6&M#'E_7B%?C9>H=!I$?+3XF9=,Q_HL+AA+]6/W8TAH\F1
MC-^F*OLYIRRB4IA/TUL*TX>^2,0FGW$,(BK=1-T(9X/G0$MYR'8QG<U%F<CI
M"S;O+M=<3)\)9=>\XW\OIJN$;+T7J=X=O]?*+EF<^SH%(+?7;OV;7:W53#FH
M_<)-9H:Y4I2]*U^;Z[9-(IM>J%1>X<CNI#@E*MYX6CNH9T'>)K%@<Q'-OW5K
MYZ=!L9@M5K !5/A_3(N.D@&0<5@E ]^5"M?D7L/*-I8V/^DG)8Y:)?-*?=>F
M]16/?5 J_ ^5NI#)W'4QA@G=>B^%,3&$,1]6\OHJQA1*JU%CQJ_R^JH0Z]%=
MIM)HYM1'QABZ9(W==;N9YD5-3^!<9Z)R78@Q#"S_%OVHN]4?JKI/VLLD=$ZZ
MR^BZ#<W6L:&E*!$-VE:*[<!:T\I#..F^ZF<-N6\MU/&Y&WC.+GW$?#U1['XJ
M+'V;XV5W8NPE44 $R   R&_DOP'$?W>@8.3N1.D9^4HZ.^R)?',FU7%UL"AX
MB4UC;?J5_JB_38@]D><PY%]744N? A5OX/\+'R3<3N-\ $B(2KU$PDQ0(Z[(
MV>M1HV*QR0$+((&!D$ =U[-^"'_J64CXCC[1;3LTOWY)Y"^_9.W?S^WZ?%1'
MYZ/HDG<@RY?.DC](?[VTHOB^EH#L6E "3QX"@_.'P. SA\!6XEM X(D=Y"LJ
M474H1FUS2@E?)5M&<;DJL +CU\/[@+' T<S JO,;'GK?%_ QW9NAE[10.D$O
MK8 ^$8Y<6[L,#XY4.ME$)SMV%4[1*%R:9O!,@_$ CC#WQ1'DPWP\'^9.-UV8
M,%,)TB("BY68%G)C(C<F<F-^"S?F%@3:.PSXE=>B'JWW.REBLN*+)0(3^_-V
M,T_"TM.P4W?LE4D@3R;R9-X=%9 C\Z:@,)DLAJFZVFGRS9Z2T'N#84R08.UX
M!G9H?J6.VP,A7^;#^S)W#7V1(Q,Y,A_&D?F=%4SR2TW^KG&4;'N-GSQ(_*JK
MRQJ64-WE&.>T-=8>M=+KZ7C PO[BIVH&(]\G\GT^C.\S?-!SKQN@X80>?,*Z
MF:C7'.%*OJH0RKI-I"3UBM#S_.[2?_N55H]=S0]=/38,C45:>WU#MC62[:!G
M]^D[J7NEDOG7YFMDUSA\I2F&')%<6#X>5N.>^;>F[8@R=T5C6S-:.;C \*Y.
M\ENG%S&H20^F\U:C.2B[?/2 =WE@L-;S(&@>,HV(L ') ':"V53,7L E@MG;
MFY+']LO)B< ZS2/-=DP+"J'_3DN#O4=>(Z>\W/NOA(_9^^K>J,,F+;MRW?LM
M4H(E;K?#A3U. )\I[PVE#:G! Y%*>4M<CZ_&R56FZK5YAG7E1:\U6% 3[\<_
M:\4Z5<E?@\UJ-"<R$NW(%-:LA\LUQ$V!^9FHR7[]]9WY"]G';VTLSC0'\$[
M$B>[\CYJ8]LX:FP;[ MJ;(L:VZ+&M@_8V%9@)(4BY00X$X>PS;L\)(2$2"J"
M(D9IF1#QQ "/__CGL"GI8A5;X+-YC]2S,3G)$[HW;68\<,0>M42UVHP^EIM<
ME)M4ZX1>3B5'#0\VN#UJLSI)5;%,R<E%.2VN18>%40U+N2H8>?1,CQ3$TI(;
M)7@W,V&SXXXPZC8]@3IN<"O33':$5YH>3VH%38K'C*P^8L'(H[?/LCK'KYVD
MP:V,DE-U"5*,CE4P\NCM]LHE&\W9<LIE53.9I6NL6];@R,3[D=G"- L.Z(+
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
M938O##[ZQ>.W<BCZIZ' T%%F.$C@ DG2M$ G<%H8# E&H&21BDHDSL03](^
M\\6=G>]I/2?+IA6NRA>M2ILB^J6U!S2;V/N1>6DFUA;NB,57@ZC;+54\JZ;5
M!5(X>N:DV\NF9VR%Q"?]9(S$XI2ZL.#(HV<:O?+43!"BHKNRF)0(H5A:&W6!
M@@&%PY%E*8V5^0E1X3KE<B[57[;T>H\%(X_>CI43&+V,<C%.(^0V3;C*6BK
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
MJ_L2OZCNB]DO-\9><&T/R3 )OH8+_E: AD-HH@B2QB"U0JD ?"/#3P_P]W.
M9/I2-=>WPZC(VHAF@(\@/8',O= <4U?P;Q737?#"LJU9X#D*!KZ0P&\<"4(]
M;NJ6BH'?@C&P.!7X:AZN=1#M:!:;@?>;N(\8?,X8GL!:0N,2?GF2A"Y\5O0F
MX#&0A+)INY#B<S V_)VW>V,8MH(?/$"1W1?A4G)%@AXY< <K;/3-<X3]-WS9
M&TK#@03(MNMA84FQE_5Y&S2,>&!'2@>^\,!"[.W+B71ZQ8ML6OC]?.[8*P !
M'E "[/]\$#.A3^BT@U%GU)$R?".Q,)/!;*/0CO9!P(Q@ IBTZDI5NG;)=7W5
M<2.0B_X]0-*=D1OB:/3;+?1Y&47*):>-$=]I2^4Z7B"::>X ^O#$;R'?\Z-4
M9PF$_300/GMP(>:Y74C,_>^S@&-UVQNJ@ P[5CPC(+N'@.4.6>+F)L\8N)89
M>.O:0!25X-O/].-Q&SL,R)\)_HCT.-A5(Y(BY_%9XZ'^!Q-=GD!==-50>EPL
M +_%1NJ^:  E_^]!U>$_:K=Q-DZ.^]V.+]L]7E"9=<"V'"+#4-P![Z"A_0,8
MG;#8GJM:5V-=Y#CD;6=["8XC][C8,:MM !4S3^@$1E!LKIV$R[:@]["%WM?E
MG6^ZVGP==/S%ZG8_,/DG=J72'*44:JJFC%FJD5FVU/K0?-+N!A$;F4(@-#@+
M-_19I9I=*>U&<@ 0D2(?3YB#L83$/^%:*N<W1VQ ; 0V5QVYO0;KJL7[0+\T
MT;(:'L=U>;70<O**RZK.$* ?R;Z)?I>*/]X*#_>+H^[5?)5-57+@=L'DW\-[
MT_#>ERCZ^LOZ#!3S$O[?!D3R.$V^?OO_=5"R]GD# U;LMYT?N]W4O7EM2^52
MX8Z&IN)115QI#![]0S(#:>UNYYE*/5+,+N?EQ_..+*0$EGA,I?X'>_D3TN.(
MF+ 9P![)#HK]1[\Z+/>_O?9.6=XM7SQ['FXO0_D 'W<%@)E'YD*,>AVG2CVS
MY;\2-G$@Y/SO;B-[<E_NW:!?-^RY !:UK!TV3W"?954ZY_I]5./CG>H@I7J]
MD>.Z7)004*IG'S&NGL,Z0J93RI6X=HGOW/#MZHTNW\&Z#2S;J'<:U1)X4SZ'
MY4MUKIXM<56LTP47:GR]>[.7?!W1'/)<NX/Q]1QXSQR?Y6L9OOUBOD#2ON21
MO ]-H2+A)/'XXE)O->GEXJ$&'JE6]"58U^5_X CL_X(7@+_\_DKI#G27W-L-
MW3XPNO2+V^_T\,_7Z@R^$.<]OI@CUJ/A0 SZ_66ASNW65!B&^]%6%746>BB-
M<1TNC9;GV,#<L+029 I81KO@:1D3+.;;W;F1R \HIT,59VE>ZDHBD9RT\N,Q
M,+Y48.G,P8T]QU?/AA]'@O-:3%YPGJ0>?U7,]^U_7X@ L03:UO(+'3!]2X@K
M:<.'(_XO$S^&SM= V;!^L2& 0<-(LM; 0%14=0:]"W!Q!Z/OWO>#/L+<=U0Q
M5:I7)BK+^,9,[*UJDMOLV5+K'2>!&6MIJF[GB\2BTC 5AQDW"N6#T ?](3L_
M%'8@X/*Q@+]P'QB!$(O \IY9-X%E:7G/UCM.[;O"#M&J"/Z:Y[/UDDU/4ISV
ME-2^_61/!#3^Y\.T_*7@@3^PD@4F('D2EK/E@FKIJP>L6LW^^XOK#]#(M^P
MDX!+ .ZVQNS @@ZB/W)U19><=>1,[)@OR3*P?J +"4@9A3H="5C+$5/!X^$
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
MTD7Z@ #\<A-[F_9&/X1_O?C6D2/IPIRZ#S]C&VN(E 0F_89!"RM*_04/<&
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
MJBNVQ%08+$,)9BC!#"68Q1:8;I-@=F9D>@U(?HYQ^$ 95OC&@E](%5&E\_T
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
MTH&HJ2M5]J'U%ZJ'[GFJ&BE0A.EJ-#BZ\\M8>PR8ISH/1X]\_F)'P&C 6+<
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
MTTGQ'PP'NW)AR^6$(C:GCXV\V02/0J;"U>YZYZGO<RP7T9>M5A-CPPE:%26
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
M[GFC-@)S"PWQE=\Q_T_41-MYK2.XB7=]M&L?C30#NX2SAJJ!*Z9F:4P!& -
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
MGWQ8>%'8WHYFQWB"QPZ)'9N&NHO,ENCB!*+/CL>'\+Y8L\BF&2YWS B0D;#
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
M? ?S/VB1Q;_\M37B&X+CUF:\_T+OT@N/7XB%S,&EGA*=PCJJ@Y$-KQ<?UJ6
M)>OK*NZ)X@W5IA;MM@5?(:\*Z6!NNLXU<!USNRE!X@V?W\O%+XP^T+W<^?=R
MK!B-)'B!C; <G_CM#'F!YT1>Y<X<*\)SC#QVD;2).1\:MI>D"4>.7#%@+6S$
MV@T;\>**_4@$+U,C+5<=@#V>-$*"5+49(^T-(*EA.:[Y>#P!>CL^GM:IOB0\
MIW6JZ5[Q_,!#[?QKW#!QJ5A"N>&9N2''QKFX2+@AQR5B7$+E3APILDK9^6Z2
MR)1,8^PBR78U1"4V7 32%%CJ6D0)=@9X1]<@I,Z (!#%[2B16BB^S,I/1+A-
M%4F@N%<E,=A)V6G4"%T"*)N\2'2B;'(]Y3M+L2306'*!=/)D-7^.3R=I;$D
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
MQ95CC^CJQL3[]?W3C8KOM*FS\4@_/JN#=NWHR__+_._OSI_%8%EP9$&;L&_
MH/<@S2;16;B\!=9NQK309S^"R[3FS$@'QM7&U\"R@.'_S()C5[.0/!!5[T#B
M/5T/,?(IO&8SDF&XB+-OE9_'04?APPS*A[-ZKG[*GU!VV\U\<FU'Z\[W06QD
M#\2N/6BI!!\&W-/-"NX#JP MCK19'&E=N%YE(O_*>K$B_Q(N1B1X"+Q=46EB
M:NH+!95^+-O:,=4Y^D_?&>I__C]02P,$%     @ ''%86EI&U_J$%   W7H
M !D   !I;F]D+3(P,C0Q,C,Q>&5X,3!D,3DN:'1M[5W[4]M(\O]7YK*UWR55
M,AC(@S5<ZLL1)\==XG#@W-;5U?XPDL;V7&1)JP?&]]=?=\]#HX=#8 $3UENU
MP<C23$]/]Z>?(X[^U.L-XQF/ Q&ROXX_?F!A$I1S$1<LR 0OX.I"%C,V3M*4
MQ^RCR#(91>POF0RG@K'=_O:K[=V]@^U^K_?F",8ZT0\E\8#M[>R]V-GK[[UD
M_=>#_LO!_BX[^\BV/H]/GN/=LV(>P;^"AV^.YJ+@+)CQ+!?%GY]]'K_K'3Q[
M<U3((A)OCG;,3W6OGX3+-T>AO&1YL8S$GY_->3:5<:](TL%^/RT.X<D=^+IQ
MSU5O(<-B-MCM]W\\3'D8RGC:B\2D&+S</CBH+F5R.K/7DEP6$M:2B8@7\E+@
MV,ZH021X-O"38G;8G*#KR=0\-TGBHC?A<QDM!S^-Y5SD;"06[#R9\_@G3UV!
MG[G(Y.2G0[H[E_\5,#0LKQ!718]'<@J#(ZV':OT#^([A_[M[Z@/.Z-=F7 A:
MFY]$(7PYO)I)7Q:XA[L_'^WXP+5T#30.YVF4+(5@[Y)L?C\D!"#.(G-HN(XU
MIZ/1I[?'XV-V.CK99B#"NVSXC\^GXW^QDT\?SX:CB^/QZ:<1._MP/+H_QK6H
MOM'NG@\OQN>G)^/A6W8Q_G3R=_9Y=#IFQ^_/A\./P]'X_LC^3YD7<K)4EV0<
MPBH&^Z_2KXG >"9S=@W!;*N8"?9_/QSL[?4/CTI#-<T2BB#).*I;+TBB)!O\
MT*?_#IO?1C(6@Q)HRO!3ZVL:<Y GD40.'D\S(1 )CW;*-S3Q[N%SCX6$;SQG
MR83]^W1T,3P?,Y"5X:\/3^%;( 7)>)_Q)I7 T%!$@#L9$.LOV6D<)T YAP_!
M]L-3>I+,P7PL71I9D5C^O?O\X0,;'7]<!Q//>%;(0*8-%FZO2ZD?8LWGPY/3
M\?&'"USP(T(!T1!3!;R_E;)8,I0@$>>T&G86\=A#'>2@GR%(^,-+#5!0D^8T
M2RYE".R:)!E#:J:HE*B=F<B+3 :(&GF1!%]8&<LB9S)F/(#10_2]E).%CX%T
MS&%=<<B") [)AR"HP>]PTFV&? )NS&51@-6<<=3T0"(70*/F_ N,@7AZW?S(
MO1BH",N 4,X2[B@$C@@+FR>%H*]\& H> 1KA@R5+*S<1C2/3+#,P0R++%;GN
MD#-X& ")!U_B9!$)<"-S&B43@9 I40RN8)(NW573V/A+,IG 0#Q25X&V/!5!
M4>8>$SR8X2.+F80/,WZ)Y(K8;$QH6 RLL<B^#92E(L/II,AO-"'CF6#\DLN(
M^Y% B(7]*GA0@ ])#[X7L<C@N9.DC',1M9A5@'CO]O9?[_8.^KNO&3"?<Z K
MS_]?:B78#I(Y\L^E&(%]SD/!TC++2[U%-:+AAKST_P-$HHCA?L!C,A.@0W K
M!^>=IVDD R*;F).W9>R$I[( 3?XO2A5)9)G#1]P[J::)$]@J>"!;R%R !$Y
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
M%O&PV'65Q1WUUZ%WZ(]+_P]02P,$%     @ ''%86F,1V]::&@  '<(  !8
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
MA#M1#YU-N8Y)HE=G@-&'GR"6+_@7P;# XH%(HRGVZ_0/LI((I#JP9'DO%C3
M(XE Z*#Z$<.O:)WJTH"YA>F=@756I7I2@S(G+@N<&MBRK$(#+LVS8B144\J(
M.3*F21!O](R\((NLD%E)OV/M"-N5G6;-P3 MH"!OIRHM?QV5 "OPDB^^N!,N
MG,T?G6:P/!.94[ZN*ZFPPH.8*6+*9"A>.G..JNA4_!DW;8%YN@-A>& ?EY9\
MEA>URY0V>S4G7\J;5UMTCL]N.=K7<+3+;Y"AO:=12=<HL\+2SL<$6%?EXZEQ
M;B*2V.966UC]Z;?*YX[E49P\'FKU!4@AI%#0I6"R@4<$(Q*H&[HL"_^>C;A,
MR.V?"E'4HZ%F _!(6'&N*3FL!BTGD&/V'-G;+$<ZC+"(S LD4^*HH%[Y8EM
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
M,6IMO0[K[_6]@']\H<K#AP]5_M6X)%::7!66W!VJ> 8_)D6:O/E_4$L#!!0
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
MXZ,-*$/9T$?:X<V>@7\QZ+]02P,$%     @ ''%86DUYOYI !0  TQ@  !@
M  !I;F]D+3(P,C0Q,C,Q>&5X,S)D,2YH=&WM66UOVS80_BNW%&M3P)(E.4Y=
MV0W@.@[JK8V#V &VCY1$65PI4J7H.-ZOWY&2',5KNFYHT@Y($+^(/-[KP[LC
M/?K)<:8B(R*F";Q;?G@/B8S7.14:8D6)QM$-TQDL95$0 1^H4HQS>*M8LJ(
MON<>NWXP<#W'.1DAKTF]2(H0@FYPU V\H _>J]#KAT<]N/@ AU?+R4M#G>F<
MXSLER<DHIYI G!%54OWFX&IYY@P.3D:::4Y/1MWFLZ*-9+(]&27L&DJ]Y?3-
M04[4B@E'RR+L>84>XLHN3N_1W#@;EN@L]#WOYV%!DH2)E<-IJL.^.QC<#BFV
MRG9CLF2:H2V*<J+9-36\6UQC3HD*(ZFSX;Z SZTLFG6I%-I)2<[X-GRQ9#DM
MX9QNX%+F1+SH5"/X65+%TA=#2UVR/RFR1O,TO=$.X6R%S(VNP\K^$.? O/R@
M^F(D1G<D;JBU+9(\P<GI3<8BIJ$7N/ZH&Z'3B@=0,48H4=72$25/II?+V=EL
M,E[.YN=P<76YN!J?+V$Y?SP5_ %<N0MWXL)B.K%J^+V^UWD\!<8+&)_.+Y;3
MT^_C@,;LU]XQS,]@^6X*B_'EV_'Y=.',?WL__1W&DZ69"3PO>#RU1H:\$73-
M2D0H9WH;9BQ)J$""Y\\&@=<;CKJ&\($P^\>ZU"S=5D-,H& =]HZ++^VTF8!8
M"D%CL^FKE*DS"F,AUH3#)2VDTB!3F DA$X+);B9B%PX-C;$H\(83F6.&W=HG
M?_@2,RB<295CBG5^A50JRV^+^08H:I3 *8UI'E$%/;^#00J.@)20,MYD;$.^
MH/%:81Y"1Q"1P/0&4ZS O(VR<E:61E7\-Y2H$X6,*HHZMK6J-&^4ZL"L [^0
M^",L7!A'ZTRF:0<F&:,I,D=A)M/!/$U9C(H9D1>*ELPXT!AO^-9F=@ IC),[
M4*Q5N29(H27<;LOGS_SC5T.[*8UA))&%J2MMXHK$ +CFO2 J(H*6SOR&TRV,
M8RO5 +B#\\0N,G01+>U,OH6/0F[092L:6BAI$G&<ERJAZLV!=X!:<EY7AMUS
M69"X?L85"E])@\"J EBLU*L:7'=UTB:\-M;'A->(LTC# C;<9$Q3QTB@(:JF
M" Y5567P=Y[?!OAU^<0JIF4>&DP/6Q6U3I>N=<^>$=]-'1/$>D^E:\ZWN/?R
M@AN8[Z"OZ*<U4]1T,J6)=5EO3;]W2'!S*?#[A\G+'7)N-\IND]3P\5_WCH8&
MR[<>Z)J@=RU6GB!S7XR"'P\R3& >S8G% 69K39C E,*J#-C@B3"%@"HP;QGH
M=,PTP8X7EZ%LS.4X42"6RHY=E3*!O;,91X:);?ELWD.J-:^0)PNJK,QR+P>Z
M]R#*]JX5K&KO5.AR8LDY*4H:-E_:CC  RJH&S_2BQCXTH'&$;70=S_6\UT%_
M$+S::X&]6Z34#; 9:?6S!V!1ARVO+=H6Q8UVM52_"NF]@*W"4S/M(\]6X=^#
M1:O%;C&7R##E<M,T \VS8S ?1GCR^.ALT%/_V+;70+&"&U(2E9*O-;UC]+<%
MZ.=:G!8A3GYEPU.=;NKW+R:))Y\_F,_MEKV;RO^[\Q_:Y*\U\M^!J4Y+3=XM
M;@#CR1)XYMF_Q[6W6W;W6].]_/H4+ R6J8C?.5)/4?I![/FJ@]M3>/YW]CP%
MZG'M.:.16A.UA>#(7L7T[VGLJ^[A1W%HJZ')=KU\A+EYI>1:).:T(5785(C6
M5??=B;I9-(<NCN<IIW[V[IP\JNOT>J1]P[Y_=U^0%76JMI*D>- (R;5D21W8
MP< -CG:5K!KS[$FY^DV@:W]2^ M02P,$%     @ ''%86DU&^'LX!0  Q!@
M !@   !I;F]D+3(P,C0Q,C,Q>&5X,S)D,BYH=&WM66UOVS80_BNW!&M3P))E
M.4Y=V0W@N@YJK(F#V &VCY1$65PI4J.H.-ZOWY&2'#EK6FQKTPR(8<L6>23O
MY;F'1WG\D^/,1$I$1&/XL#K_"+&,RHP*#9&B1&/KAND45C+/B8!SJA3C'-XI
M%J\I0,]S3]R>/W0]QSD=XUS3>I 4 ?A=_[CK>_X O->!-PB.^W!Y#D?7J^DK
M(YWJC..5DOATG%%-($J)*JA^>W"].G.&!Z=CS32GI^-N\UW)AC+>GHYC=@.%
MWG+Z]B C:LV$HV4>]+U<CW!D%[OOR=PZ&Q;K-.AYWL^CG,0Q$VN'TT0' W<X
MO&M2;)WNVF3!-$-;%.5$LQMJYF[-&G%*5!!*G8[N+_"YD7DS+I%".PG)&-\&
M+U<LHP5<T U<R8R(EYVJ!;\+JECR<F2E"_8GQ:G1/$UOM4,X6^/D1M=197^
M?6 ^/;_Z858,]U;<4&M;*'F,G;/;E(5,0]]W_7$W1*?EWT'%"*%$54M'7'DZ
MNUK-S^;3R6J^N(#+ZZOE]>1B!:O%XZG0&\*UNW2G+BQG4ZM&KS_P.H^GP&0)
MD_>+R]7L_8]Q0&/V&^\$%F>P^C"#Y>3JW>1BMG06OWZ<_0:3Z<KT^)[G/YY:
M8R/>+'3#"D0H9WH;I"R.J4"!%X=#W^N/QETC^)TP^WM9:)9LJR8F<&$=]$_R
M+V7:7$ DA:"12?J*,G5*82)$23A<T5PJ#3*!N1 R)DAV<Q&Y<&1DC$6^-YK*
M#!EV:^]ZHU?(H' F5884Z_P"B51VOBWR#5#4*(;W-*)92!7T>QT,DG\,I("$
M\8:QC?B21J5"'D)'$!'#[!8I5B!OXUH9*PJC*KZ-).I$(:6*HHYMK2K-&Z4Z
M,._ .5$XEL [%V9%S@3E#-M-*%D&TY31!,Z8P!V%H>6+)&$151W B_%I!_)2
M%27!(&L)=UGXXK!W\GID<]#806*9FVVD+5R)&+RBCM8ZHD(B:.$L;CG=PB2R
M'C9X[6 _L8.,7$@+VY-MX9.0&_30F@86.9J$'/NEBJEZ>^ =H):<UQO![K[(
M253?XPB%G[@!7$7X%AKUJ ;&71VW!6^,]1'A-< LL'"_&FU2IJEC5J !JJ8(
M-E6;R/#O<WX;G->[)6Y:6F:!@?"HM8'6[.A:]]PSXH>I8X)8IU!2<K[%5,MR
M;E"]0[JB?Y1,45.X%";619V)O?X1P5Q2T!L<Q:]VR+G+BUU.U/#IO>D?CTRV
MW'F@:X+>M5AYALQ#,?*?'F280-K,B,4!DK,FR%4QMD(;3X0I!%2N:&&@TS'=
M! M<'(9K(X%A1XY8*CIV5+(C-IPPMA6>95:4*GF%/)E39=<L&K35S.X^@"A;
MJE:PJKU3H<N)).<D+VC0_&@[P@ HK>HY4WH:^]" QA&VKB6EEDU#5=7:EKW:
MU[O#3"UC]T*CC</)5I;UH%9I>P 6D5C]VOW;(KS1O-:H5X7[03!7H:LG'>"<
MK1K@'F1:U79K<HD3)EQNFKJ@N7=,/@0A'D(^.1OTXE<K^!I$=N%&E(2%Y*6F
M>T9_6_#^AVJG.MK4UR]2QK.7OZ&7;<KN4_F_=_=3,?*?P:>FI89W\UO "+(8
M#CW[>EQ[NT7W<Y7H/8Y]#A@&S.R*/SA:SY%Z0O9\Y:SV')C_G3W/@7I<>\YH
MJ$JBMN ?VV<O@P=*^ZI^>"H.;94TZ:YB#TGT::UD*6)SWI J:/:'UK/M_8ZZ
M0#3'+HY,[M3WWM[9HWI^OG?XV&O:/:S/R9HZ52E)$N2E@-Q(%M>!'0Y=_WBW
MCU5MGCTK5W\"=.U_"'\!4$L! A0#%     @ ''%86H8^5@ !&   FPH! !$
M             ( !     &EN;V0M,C R-#$R,S$N>'-D4$L! A0#%     @
M''%86OD:E;*L&@  +H<! !4              ( !,!@  &EN;V0M,C R-#$R
M,S%?8V%L+GAM;%!+ 0(4 Q0    ( !QQ6%H7R#=&Q3L  )/X P 5
M      "  0\S  !I;F]D+3(P,C0Q,C,Q7V1E9BYX;6Q02P$"% ,4    "  <
M<5A:I(IK=V^2  !=DP@ %0              @ $';P  :6YO9"TR,#(T,3(S
M,5]L86(N>&UL4$L! A0#%     @ ''%86K5%&_=F:   EXP' !4
M     ( !J0$! &EN;V0M,C R-#$R,S%?<')E+GAM;%!+ 0(4 Q0    ( !QQ
M6%I>W14 ]H0# "O\*  5              "  4)J 0!I;F]D+3(P,C0Q,C,Q
M>#$P:RYH=&U02P$"% ,4    "  <<5A:6D;7^H04  #=>@  &0
M    @ %K[P0 :6YO9"TR,#(T,3(S,7AE>#$P9#$Y+FAT;5!+ 0(4 Q0    (
M !QQ6%IC$=O6FAH  !W"   6              "  28$!0!I;F]D+3(P,C0Q
M,C,Q>&5X,3DN:'1M4$L! A0#%     @ ''%86D%4_/XX!   0S4  !8
M         ( !]!X% &EN;V0M,C R-#$R,S%X97@R,2YH=&U02P$"% ,4
M"  <<5A:238 M4X#  !]"0  %@              @ %@(P4 :6YO9"TR,#(T
M,3(S,7AE>#(S+FAT;5!+ 0(4 Q0    ( !QQ6%I#G'CP$@@  #PT   8
M          "  >(F!0!I;F]D+3(P,C0Q,C,Q>&5X,S%D,2YH=&U02P$"% ,4
M    "  <<5A:$^H-GAH(  "9-   &               @ $J+P4 :6YO9"TR
M,#(T,3(S,7AE>#,Q9#(N:'1M4$L! A0#%     @ ''%86DUYOYI !0  TQ@
M !@              ( !>C<% &EN;V0M,C R-#$R,S%X97@S,F0Q+FAT;5!+
M 0(4 Q0    ( !QQ6%I-1OA[. 4  ,08   8              "  ? \!0!I
M;F]D+3(P,C0Q,C,Q>&5X,S)D,BYH=&U02P4&      X #@"Y P  7D(%

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>113
<FILENAME>inod-20241231x10k_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/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:inod="http://www.innodata-isogen.com/20241231"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2024"
  xmlns:stpr="http://xbrl.sec.gov/stpr/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="inod-20241231.xsd" xlink:type="simple"/>
    <context id="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_mmjd8mr120yR6NI5hafzmw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_MffRea2qLEye13U1QoaE6A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_AcPvuwTUIUyHTVWxo6Bl1Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_8vYuT3SzSUKXbb9D-_JT2A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_CwhXtrb-b0SgkMQUjSZW0w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_fk-VZ9zSikWIXZIhj6xt2A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_nvIIRtKsT0-ZjLXT7vplNA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_CSRCPJe9v0OyfUwMc3gLkg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_5w_H5iQOwE6adIyuRS2n_Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_WeGzA3hrkEOYbysOV2UppA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_LnHQUrJ0-kiftXtbNdvXSA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_pxApacqkV0O9k2EwxZy_-A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_N_3EjNshDUq3PPmZyM-gKQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_PV2elI63NEyHDoTFk3r2pA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_V7v7ubfu6k6Xs9sp3gx4cg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_CVac1-kyokSMXmD22IhQNQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_nJVPxfz-WUSmy3NCOT2APA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_6jQMVoiAsEqczvfr8DGh5w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_6yMIDHh6X02xbxdbay1Brw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_ShE4T_7_NkarxWPzA8RF3g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_zCf_LNCZRUyXO1jdgC_P8g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_ee1CIzcen0m5NhH2RNN34Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_HTS8kjauZkGXuoVV9EP1Xg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_OlEFfdk_ZU-DlbK6CaR86Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_rAscOWNTsk2zumVWHLnwCg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_BviIBhrirESSkgraRDdqgg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_p_PZX76naUql9HYXXBjJ3Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_egytfkiAH0qoad7x1i3mMw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_UnngrDnV7UuQUrb43pZqTA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_G03ck5x1Xk2bCIxUAeF0nA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_jErzQdPJKUKm2h19Lv8jNQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_ZNzogdH5jE2de-mLf-S8fA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_1QX6msLoqUSOjSTVRyjd3Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_yJZ0XTvo-Em74H2hVVhUCw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_TitleOfIndividualAxis_srt_DirectorMember_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_y3YcLN4pr0GG0CKG2-ytUg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_NmgNgFypa0-knTgaSMhzpg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_aWQm3TUbnU-1V5aCIUcZDQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_K4xRyIwJ9UuhdosvSbDM9Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_jmxIQXc-t0KaBZyssqMq0w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_0zg3zU8O1kWhCYvsJi7GOQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_e10c1fXBpE25m0tgQ7njdA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_nBzKbRsmBkuJ7QlgwyUinQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_EtniPK0ICU-6FZ6XRrVQ1g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JLyhRpUyIkyJ7Y4X6NRSHg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_FjBKu8s8aEehcxym0F6GhA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_fk5-2GIc_E6yEF_SV2noWQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_NGDGuB25Dk-L2onuGDgqzQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_srt_TitleOfIndividualAxis_inod_NonEmployeeMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_CKBmSODh0Uq2YriEHjstFA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">inod:NonEmployeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_Nxv9DKiUokmPp5RwTNkLPg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_r28vrVunzE6Y7Pr8d98ApQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_us-gaap_PlanNameAxis_inod_EquityPlansMember_APOUYYbHokqBF-jX-_Hqag">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_srt_StatementGeographicalAxis_inod_OtherPrincipallyEuropeMember_D2pospoFuEerOD86WBLppA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">inod:OtherPrincipallyEuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_srt_StatementGeographicalAxis_country_US_nDQWfjvHv0y2oQwWoBJaEA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_srt_StatementGeographicalAxis_country_NL_tEkK51FiFkWLjoGdH14nxg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_srt_StatementGeographicalAxis_country_GB_qsVfT86o0UuiZpnsQCOMvg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_srt_StatementGeographicalAxis_country_CA_wYMJDAKY-EG0oNI94uXvAw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_inod_OtherPrincipallyEuropeMember_fKRoqkvvykSUshQGHJCiSw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">inod:OtherPrincipallyEuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_US_Au7whR08OUyEZWtUTxoXdA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_NL_Y7HzdVe2MEGqH_1Ry_BTvw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_GB_NwJe7mL3sU2LHKHNe4a4qw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_CA_ob6LzdJzbk6rFHRKIA-tLA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2024_us-gaap_BalanceSheetLocationAxis_us-gaap_AdditionalPaidInCapitalMember_oCNVS04TC0Cq-wcGW_H4gw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_xMtDoOyH10CNZDutgw8TdA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_3DlofO4zDUKn02n09GPZFw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_InProcessResearchAndDevelopmentMember_NGuznsOl_kG1xy8i1jD-HQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_-zFtSVxVNkWC9G2b396qmg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_EquipmentMember__yC4g6PBQkWSkq2Gm4hw0Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ConstructionInProgressMember_xsSlSArCaUWeIjcgDtPgzw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_X0Jvz2E3rU2jNLwDtrwhjA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_wehGlPdWwkCiksPnqZCVXA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_CYsdJ46hgkecX1vsvFrdHw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_InProcessResearchAndDevelopmentMember_32-BbV39KkeI3npA9bh9TA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_Y_Uq_DnVBUCXJ7hSUUfI0w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_EquipmentMember_ek-s0CxjYUKNOwei4fO_CQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ConstructionInProgressMember_bTpAxYLv1EaKnxxkyNnNnA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_TNGe9si3LUmn8wMhmsCq9w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_SubsidiariesMember_zL4yJn50YkCqXTbnLnF25Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_SubsidiariesMember_aHoQNEWoh0qVt_-SnqRneg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2024_srt_ConsolidatedEntitiesAxis_inod_AgilityMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_ForeignCountryMember_P3LYAbUG30W_adlAJ0XNWA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">inod:AgilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_IncomeTaxAuthorityAxis_us-gaap_StateAndLocalJurisdictionMember_40mIZicf6kqjyV7LLTjtWw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_srt_ConsolidatedEntitiesAxis_inod_GermanAndUnitedKingdomSubsidiariesMember_AXVrvXDUoE6y64H48yyAqQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">inod:GermanAndUnitedKingdomSubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_ShortTermOperatingLeaseMember_PryYjEecfUy_JehyfdmhrQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">inod:ShortTermOperatingLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_LongTermOperatingLeaseMember_Ue1ES-ceIU6xj-0x9WolGQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">inod:LongTermOperatingLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_ShortTermOperatingLeaseMember_iB96pRrJBkalOWW3knvCTw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">inod:ShortTermOperatingLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_LongTermOperatingLeaseMember_Hm5vdvcv2kajh1AKpzN1mw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">inod:LongTermOperatingLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_stpr_IL_z1G9lc4gjEuqq1fuEGY8Mg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">stpr:IL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_inod_ForeignCountriesMember_ZzRFei96XEquYEbW4N8xIQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">inod:ForeignCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_PH_uuM_lRFX2Emr8ODxUjRSkg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_LK_4Fh76J9z60SdETIPB2ezrA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:LK</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_IN_JUpwXiqcYUGcm1fOlBs-Yg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_GB_O_LlwubZOkWtDW_HirHc5A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_DE_NtGBHoCqW0KqXeCJYBCefw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_CA_xGcix37yqEePc6LlzMTQOw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_stpr_IL_yk7SngNHY0yjRCe9MxdM1g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">stpr:IL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_inod_ForeignCountriesMember_ZPPbAPeRNEyNY65VDxYiAA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">inod:ForeignCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_US_t5m68aLw50-Pg1QhilfDlQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_PH_RWnIrQOsa0mKa1nBvTgV_w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_LK_TFp11VS73kufhMq0wqkUNg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:LK</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_IN_b2JzLjKf_0e_O0UN6Lq1JA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_GB_ng20ziJdRkyivXAriMbCdQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_CA_LmRfp9wnrkKasCJLc-PzTg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_L6FjkbeiQEqL6Nf8ptlZfg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_9fT9uSdqy0O4iRsMJVDdBQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_Oh7Lh_DHn0K4-FcC2NeNMA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_S1GDvg3IeE2XmKn1NwjnPQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2024_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_SqKm6jfpHEudgbIT3_Sh4w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_qwpqTP9sVEuIY51pu28Ing">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_aMPqSQnl6kqE-3fgQ1ZqTw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_NX28TL-gtEa9Jqam-XF_eQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_vBp8aS24AkK0HxET52mzwg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_8DuPb6w0zU6DLbsVO6seHA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_fWTSucoVEUe4yw6Qr0B42A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_dPb8d2je8km8OBvQeNYlZg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_tBdaD7jObESRaJN-G0P9AQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_wnRAMXxsP0KQ2z8PfMmLkQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_O7yfbrfxzUSnxuSPdkrSog">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_fJBd0u5TNUKpMn8Sb4Z7cQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_vg9O6mYhHk2rk-GwFGX3jA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_5skyboIVE0W-gVY8_RY_jQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_4XqHiOkraEqYKlIciFylTA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_WqCf5fkajkCAgTVIJ0pPWw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_a3hTbpXLWUaKxQsYFEjCTg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_eQJKcCKF2kW_PycYnUZPVw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PropertyPlantAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_uOkIzEHivUOY4FC5Ao7koQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PropertyPlantAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2024_srt_RangeAxis_srt_MinimumMember_l_Zbsb2eb0u2_FRbUsP-cA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_srt_RangeAxis_srt_MaximumMember_9rlFfpQtP0C99Qd_6dkL_A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_4Xr8jz8S1EOVLxVXoZ6maQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_tsOP1MjFWEasxAWpgU6lww">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_kRwU2Sj4_UG70ixd_NZd4w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_srt_ConsolidatedEntitiesAxis_inod_CanadianSubsidiariesMember_mElcPbKVGEuFacdBlL31Xw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">inod:CanadianSubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_aBl18KRgD0WnIJLI5-9AWA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_RDdLwXvIoEmsSgtOv4tMag">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_gmsKeuNeWUS7pvwtaEpy9g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_srt_StatementGeographicalAxis_us-gaap_NonUsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_MPu6YzbxnkaAhAa2gAdCug">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ForeignCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_JTqKMIIzn0OWteVriD9C7g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ForeignCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_p2a7is_IREm3ouxeuHtiWQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_us-gaap_NonUsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_rCle3eMyOEyIvjLCJkG__g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_qNQXPKAzR0OEyNGUUTCncA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:OneClientMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ForeignCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_mKvNA3LkWk2yN5AyVvzZTQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ForeignCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_eJa40A_h-kGX1tkJzjjYZA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember__9wUofjsfU2SeYiwOl4XdQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_srt_AsiaMember__bWFAUrycEafPJpnR29Jmw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_US_MYl3p3GHYUaoOcHGs6RTWA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_SSIfYE19WUOlIjea1mhcDg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_ZkcQQYagPUyHD8wdcfG0jQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_MLNwS_aTIUuTdBN3FUPH9g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_sgEdfoGjkkyqNaNicssoTw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_ggxGbhWXtkmqZAz4OWrkPQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_ZpY5x40RPUa6rvRcgQwxBg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_tWfdOE89JECD__2OPj2d0w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_LyApVJW6OkmI3Xh3YqHKkw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_cMNIsVNcS0WVTXprZROG1g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:AcquiredIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_jlvfpQM2aEWkgyv6kOADVg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_1VSqJnBYzUqitSTWtLQtHQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:AcquiredIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_WoVfVjcRzU6369CtXFJAWg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Oj-lSX5ZT0qBDQ6HNFvFiw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_bD8dJkXY7EiAehWPrCYChg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_PlanNameAxis_inod_July2019Member_T5ZP6hp28U-RspLZQ67Yvg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:July2019Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_7_31_2019_s93iPUAMGUCz6w2T0wWdiQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
        </entity>
        <period>
            <instant>2019-07-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_pzfnAvg4pUGclFLXGW9jnw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_jD5VrhScy06RSiAu49DIAA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_H9NJJEgo4kWJJbKAl2z-Qg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_BGgJQnoTW02boQd9SECQyg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_tqUhE8BohU66zRGcrSUCUA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_7EVSMZ6DwUa94xKEQUjYlg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_awj5OpJa4U-8btL7kJn3Vg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_Aqd5yOzLDk6zkCnBcRAbAA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_fwcY7lj510OcAQSgdp1nHA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_6_9_2023_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember_EmENcejXIUeVJQDQ02BKlQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-09</instant>
        </period>
    </context>
    <context id="As_Of_6_9_2023_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_HHxLeIWcnEOlVPLGwBoJww">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-09</instant>
        </period>
    </context>
    <context id="As_Of_6_9_2023_us-gaap_PlanNameAxis_inod_AwardsGrantedPriorToApril112022Member_knE5T9x-PkGSL_HNw99myg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:AwardsGrantedPriorToApril112022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-09</instant>
        </period>
    </context>
    <context id="As_Of_6_9_2023_us-gaap_PlanNameAxis_inod_AwardsGrantedOnOrAfterApril112022Member_mRB758da-U6Jb554dxShHw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:AwardsGrantedOnOrAfterApril112022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-09</instant>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_srt_RangeAxis_srt_MinimumMember_SipQmlg36kW6u5QpLXmzLg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="Duration_1_1_2024_To_12_31_2024_srt_RangeAxis_srt_MaximumMember_vvxg8TJf3EWhXwTHn_N3og">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_TwoClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_gWFnncdmTEGT7_HnXni5Cg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:TwoClientMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_RA24ZCeBFEauAZjTcQN-Fg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:OneClientMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_gS6teXbpfkiAhH9SQOC_9g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ClientMember_srt_StatementGeographicalAxis_country_US_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_AWdcfG0ZVkWokAYI1JqaBA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ThreeClientsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_4Sadc-gyL0iMsAwA2tleig">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ThreeClientsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_nePV46ws3E2oSn-a3utVCg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_ARKlRptwm0ecXlwdFM97gA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-08-05</instant>
        </period>
    </context>
    <context id="Duration_8_5_2024_To_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_Rd8_85kk1EGdoRwjZ_W3KA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-08-05</startDate>
            <endDate>2024-08-05</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_PKxFcABwbkmwoSU97uIsAA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_OmXD6cj2NEmSBQ9mD6rfBQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DatabasesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_eswZ0NbwE06a9qMbMPgHLg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_M6aU7ypd2kuLaMxEq0lL7w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_0-E2__Mdfke8EEhPBxIe5A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:CapitalizedSoftwareDevelopmentCostWorkInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_1MdjChxLRE6mhBgeY-CjAQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:CapitalizedSoftwareDevelopmentCostMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_SWi9yEqTK0WXo99bGHtHlg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:AcquiredIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_bGD45DXuLU6nN5Sdo0ZyPg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_T2-GY1BEYEqpD-xKLKir4A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_coTsSQ8a5UiJTgMVNwYvUw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DatabasesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_uDsmnZ1-Uk2Lu5k7gjkmQA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_wEUi7eT-90-6_6jZ8v2_Rg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_c2Fpk42UF0K4J2tiO89gcg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:CapitalizedSoftwareDevelopmentCostWorkInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_GpUffxo200uDJmHAMVMpNg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:CapitalizedSoftwareDevelopmentCostMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_Ifc6Jo0zpEi9vYzAdGr9gg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:AcquiredIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="Duration_10_1_2024_To_12_31_2024_e94n7merh0i_5dugZ2QBLQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
        </entity>
        <period>
            <startDate>2024-10-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_6_30_2024_2RjEAmYkekm4NIa4ns6c3g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="As_Of_2_17_2025_dyYhT14yDE6EJiAy3ejC_Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
        </entity>
        <period>
            <instant>2025-02-17</instant>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <unit id="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">
        <measure>shares</measure>
    </unit>
    <unit id="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">
        <measure>pure</measure>
    </unit>
    <unit id="Unit_Standard_customer_9_H1AbzmbEiNYhU0niR5jw">
        <measure>inod:customer</measure>
    </unit>
    <unit id="Unit_Divide_Vote_shares_BYSm1KDzP0aI6SdGunFURg">
        <divide>
            <unitNumerator>
                <measure>inod:Vote</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Unit_Standard_segment_vYtCzY4wxUGW3JZsiWLCYw">
        <measure>inod:segment</measure>
    </unit>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Hidden_CTjtzSPBGUebv-XEqJPIpw">http://fasb.org/us-gaap/2024#InterestIncomeExpenseNonoperatingNet</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Hidden_LD_khgHSaE6-z0vUfwhD5A">http://fasb.org/us-gaap/2024#OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList>
    <dei:EntityCentralIndexKey
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tc_wc8M4aziukCV4UuaFGwpGw_2_1">0000903651</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tc_AFgGQ1ftz0KxrjIhsrTruA_3_1">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tc_xziuH7XYQ0iyVjbZKaZMHA_4_1">2024</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tc_Ij1r6kh_z0u57oNGovcRPw_5_1">FY</dei:DocumentFiscalPeriodFocus>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      id="Hidden_xsLURGSe4k2KXes4-rEENA"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      id="Hidden_49_KtRx5xU-gcwyRt55A9w"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      id="Hidden_E9tF80qJYESw5AxDuGStLA"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      id="Hidden_vs-L0KUflE-ct85yt3pDLw"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg"
      xsi:nil="true"/>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="As_Of_12_31_2024_srt_RangeAxis_srt_MinimumMember_l_Zbsb2eb0u2_FRbUsP-cA"
      id="Hidden_JBYbhKVqzEGL0mHdEk0dxw">P2Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="As_Of_12_31_2024_srt_RangeAxis_srt_MaximumMember_9rlFfpQtP0C99Qd_6dkL_A"
      id="Hidden_hPmr4tYES0iTF5TyWe2ahg">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="As_Of_12_31_2024_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_SqKm6jfpHEudgbIT3_Sh4w"
      id="Hidden_tEUnEellt0mU_k_YoZWk7Q">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="As_Of_12_31_2024_srt_RangeAxis_srt_MinimumMember_l_Zbsb2eb0u2_FRbUsP-cA"
      id="Hidden_GyFyEVe85kuWxhzAdg74oA">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="As_Of_12_31_2024_srt_RangeAxis_srt_MinimumMember_l_Zbsb2eb0u2_FRbUsP-cA"
      id="Hidden_Nq0piYfJ70iBZplajOJ_Wg">P3Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      id="Hidden_dTanDrqytkiI4Uv_EFTIpA">http://fasb.org/us-gaap/2024#InterestIncomeExpenseNonoperatingNet</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      id="Hidden_usZZvKP_Ukqb3RkNFi3dVA">http://fasb.org/us-gaap/2024#OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList>
    <inod:ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio
      contextRef="As_Of_6_9_2023_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember_EmENcejXIUeVJQDQ02BKlQ"
      decimals="INF"
      id="Hidden_upOLd_YbXkymY66duN8I7w"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">1</inod:ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio>
    <inod:ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio
      contextRef="As_Of_6_9_2023_us-gaap_PlanNameAxis_inod_AwardsGrantedOnOrAfterApril112022Member_mRB758da-U6Jb554dxShHw"
      decimals="1"
      id="Hidden_-5NjuzOIGkyCsdwqEurfMw"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">1.5</inod:ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio>
    <us-gaap:ShareBasedPaymentArrangementGranteeStatusExtensibleList
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Hidden_TKcAPII4akSwiA0-ioPAUg">http://fasb.org/us-gaap/2024#ShareBasedPaymentArrangementNonemployeeMember</us-gaap:ShareBasedPaymentArrangementGranteeStatusExtensibleList>
    <us-gaap:DebtInstrumentVariableInterestRateTypeExtensibleEnumeration
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_aBl18KRgD0WnIJLI5-9AWA"
      id="Hidden_ZzADL070F0SbmOl_6h7B7w">http://fasb.org/us-gaap/2024#SecuredOvernightFinancingRateSofrMember</us-gaap:DebtInstrumentVariableInterestRateTypeExtensibleEnumeration>
    <dei:AmendmentFlag
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Narr_vAMkbp734Ei4z6nfIDZ_TQ">false</dei:AmendmentFlag>
    <dei:DocumentType
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Narr_Y5NpsQkLMEae2GNsA17-Lw">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tc_5jkSjDqvfEKomdDDFZYGOA_1_1">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Narr_bxkIsWObIEi-C17srTSUwQ">2024-12-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tc_6N51NiZrgEiBE0ExApkqfw_1_1">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Narr_-hyEh7FFwUaW-HyCNI4lCQ">001-35774</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Narr_Fwdp98Vj6EObQpoD9xrHCQ">INNODATA&#160;INC</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tc_JYB5T61kvUiduYDEs086-g_1_0">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tc_JVWyBxadQUSIIeDPfd5Uzg_1_1">13-3475943</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tc_pEsfeCX2Pk6F-cKe1v-Mcg_5_0">55 Challenger Road</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Narr_c9GnNEJ6Mky0L5SnYfu9Bg">Ridgefield Park</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Narr_tXejO8NFv0qYWoWvc_RVOA">NJ</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tc__I7O4ikgxU6y1YFsK2UHtQ_6_1">07660</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Narr_8fA6oOobFEWjddGtEqtHmQ">201</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Narr_VmVk6toZV0CUT0bHCCx5yg">371-8000</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tc_KQlNXHKSSUGwjuRtBwsmgA_1_0">Common Stock</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tc_3VODTV_luE6a2-MqIcm4Qw_1_2">INOD</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tc_2Ntvvvn-UE6bJheKW3UuCQ_1_4">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Narr__yONfJx_TUqfWhxbRjFd5w">Yes</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Narr_ZMIJvTFS80eBezo3Dmzgcg">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Narr_W8oqqBlTd0mkcbYFJyCQjw">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Narr_u_iBzSyvXUWTyWDXBPlH2g">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Narr_sRGbVxaszUuXw1HrnSCPMA">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Narr_awOb468CvEaj6TVz_EsNgg">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Narr_IkV9fiaaRU6TxaGTTAN_VA">false</dei:EntityEmergingGrowthCompany>
    <dei:DocumentFinStmtErrorCorrectionFlag
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Narr_P_tWpeZQbkevHZPATi1jIg">false</dei:DocumentFinStmtErrorCorrectionFlag>
    <dei:EntityShellCompany
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Narr_Bnt7EpfuLUmkZ8DjZDj_FQ">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="As_Of_6_30_2024_2RjEAmYkekm4NIa4ns6c3g"
      decimals="0"
      id="Narr_BZ3SozK9L0q95CWHL5sGWA"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">400569838</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="As_Of_2_17_2025_dyYhT14yDE6EJiAy3ejC_Q"
      decimals="INF"
      id="Narr_ywHBvIN6yUK1avKG1Rh5LA"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">31299728</dei:EntityCommonStockSharesOutstanding>
    <cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_EW2aMiXHm0qWNBW_CAa4lQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Cybersecurity Risk Management and Strategy&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;We recognize the importance of developing, implementing and maintaining a firm cybersecurity posture to safeguard our information systems, protect the confidentiality, integrity and availability of our data and mitigate risks associated with cyber threats and attacks. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;We are ISO/IEC 27001:2022 certified and the ISO Information Security Risk Management Standard is used as a reference guide for our risk management approach. We have a designated Chief Information Security Officer (CISO) who has primary responsibility for managing our cybersecurity risks. Our CISO has more than 28 years of experience in Information Security and holds a master&#x2019;s degree in Information Technology. His in-depth knowledge and experience are instrumental in developing and executing our cybersecurity strategies. Our CISO is assisted by a team of Information Security Officers (ISOs) and a third-party consultant who has expertise in cybersecurity, information security risk management, and information systems audit and holds various certifications including, CISA, CISM, HITRUST Certified Common Security Framework Practitioner, QSA, and CSP.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Recognizing the inherent cybersecurity risks common to any organization, encompassing concerns such as unauthorized access to sensitive data, potential disruptions to business operations from cyber incidents, and the associated financial and reputational impacts arising from a cybersecurity breach, we have implemented comprehensive policies covering various aspects of cybersecurity and information management, including, without limitation, cyber risk management, information security practices, roles and responsibilities, access controls, cryptography, information classification, asset disposal, and vendor management. We periodically review and modify these policies to align with industry practice, trends and evolving threat landscapes. Compliance with these policies is expected from all employees and contractors.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;We perform periodic assessments for identifying threats and vulnerabilities, covering relevant operational facets, and focusing on identifying, analyzing, evaluating, and treating cyber risks across business functions. Our risk assessment guidelines define risk measurement and prioritization, and consider factors such as likelihood, impact, and potential harm. Mitigation strategies are planned, covering technical and procedural measures, including incident response plans.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Incident Response&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;We maintain a comprehensive incident response plan. Key components include regular updates to ensure effectiveness, employee training programs, and establishing communication channels and relevant systems for proper incident reporting and logging procedures. Communication and notification protocols are defined for notifying third parties such as regulatory bodies, customers, and partners. Recovery strategies are developed for restoring normal operations, and post-incident analysis is conducted to identify lessons learned and improvements for future incident response efforts. The incident response plan also outlines procedures for prompt detection, response, and remediation efforts to minimize the impact of incidents. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Incident materiality is assessed through a collaborative process involving key personnel within our organization. Responsibility for conducting a materiality assessment lies with our management team, in consultation with advice from our third-party cybersecurity consultant, as appropriate. The materiality assessment considers various factors, including financial impact, reputational risk, regulatory implications, and potential harm to third parties. Upon completion of the materiality assessment, the disclosure of incidents, including those related to contractual, regulatory, or technology/security aspects, is handled by designated members of our senior management team. We consult with outside counsel or experts as appropriate, including on materiality analysis and disclosure matters.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;As of the fiscal year ending December 31, 2024, there have been no identified cybersecurity incidents that have materially affected or are reasonably likely to materially affect us, including our business strategy, results of operations or financial condition.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Engagement of Third Parties&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Recognizing the complexity and evolving nature of cybersecurity threats, we have engaged a third-party consultant to assist with evaluating and testing our risk management approach. This enables us to leverage specialized knowledge and insights in connection with our cybersecurity strategies and processes.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Strategy&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;To enhance our current cybersecurity posture, we continue to invest in advanced threat detection technologies, provide cybersecurity training based on the latest trends and guidance to the employees, collaborate with industry partners and regulatory bodies to stay informed about emerging threats, reinforce our cybersecurity incident response plan to align with industry-specific regulations and legal obligations, integrate threat intelligence feeds for automatic detection of any misconfigurations, security threats, and foster a collaborative, cross-functional, and accelerated approach to incident response.&lt;/p&gt;</cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock>
    <cyd:CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Group_ID-5J-Lea0OuSJbjz1z1hA">We have a designated Chief Information Security Officer (CISO) who has primary responsibility for managing our cybersecurity risks. Our CISO has more than 28 years of experience in Information Security and holds a master&#x2019;s degree in Information Technology. His in-depth knowledge and experience are instrumental in developing and executing our cybersecurity strategies. Our CISO is assisted by a team of Information Security Officers (ISOs) and a third-party consultant who has expertise in cybersecurity, information security risk management, and information systems audit and holds various certifications including, CISA, CISM, HITRUST Certified Common Security Framework Practitioner, QSA, and CSP.The CISO, who is responsible for developing our cybersecurity strategy and managing our cybersecurity risks, reports directly to the Audit Committee on these matters.</cyd:CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock>
    <cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Narr_ImL55yiq0U-Y4H7fnH84KQ">true</cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag>
    <cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_vXJ-nT-qfEy0W52x3jgI6Q">Chief Information Security Officer (CISO)</cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleTextBlock>
    <cyd:CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_fWhIaGAEIE6D7x8Ig72sFg">Our CISO has more than 28 years of experience in Information Security and holds a master&#x2019;s degree in Information Technology. His in-depth knowledge and experience are instrumental in developing and executing our cybersecurity strategies.</cyd:CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock>
    <cyd:CybersecurityRiskThirdPartyOversightAndIdentificationProcessesFlag
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Narr_H86esD-N4kiDKbhc0DyJOw">true</cyd:CybersecurityRiskThirdPartyOversightAndIdentificationProcessesFlag>
    <cyd:CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Narr_HSaFfjAqxUOVoI9BBKvcVA">false</cyd:CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag>
    <cyd:CybersecurityRiskManagementThirdPartyEngagedFlag
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Narr_vxs638bGP0iPKLNZoxKElg">true</cyd:CybersecurityRiskManagementThirdPartyEngagedFlag>
    <cyd:CybersecurityRiskBoardOfDirectorsOversightTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_6nsXpLLkaUm92_qqlADJiQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Our Board of Directors is aware of the critical nature of managing the risks associated with cybersecurity threats. The Board of Directors has established oversight mechanisms to ensure effective governance in managing these risks.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Board of Director Oversight&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Our Audit Committee has primary responsibility for overseeing risk management, including with respect to cybersecurity. The Audit Committee monitors management&#x2019;s compliance, and reports to the Board of Directors. The CISO, who is responsible for developing our cybersecurity strategy and managing our cybersecurity risks, reports directly to the Audit Committee on these matters.&lt;/p&gt;</cyd:CybersecurityRiskBoardOfDirectorsOversightTextBlock>
    <cyd:CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_Aq9xfZ-Pm0S-zynZvVoi6A">Our Audit Committee has primary responsibility for overseeing risk management, including with respect to cybersecurity. The Audit Committee monitors management&#x2019;s compliance, and reports to the Board of Directors.</cyd:CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock>
    <cyd:CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_o5g8bYGh0EONASic0ABISg">Audit Committee</cyd:CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock>
    <cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Narr_3glJUtLVs0GeIXJjwbIoAA">true</cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag>
    <cyd:CybersecurityRiskRoleOfManagementTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_B3o_gSuWykSN4m-ppFPCEQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Management&#x2019;s Role&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Our cybersecurity governance framework incorporates policies, procedures, regular meetings, and controls to manage and mitigate cybersecurity risks. Aligned with industry standards and regulatory requirements, the framework is overseen and regularly evaluated by our leadership team responsible for implementation. Regular risk assessments are conducted to identify and assess potential cybersecurity risks, informing the development of proactive risk mitigation strategies within the governance framework.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The governance framework is closely integrated via a structured compliance reporting framework operating across various governance levels. This framework also operates across geographic locations, with location specific compliance meetings conducted at a local management level and led by the CISO with assistance from the ISO team. This structured compliance reporting is intended to ensure that the highest levels of management are kept abreast of potential cybersecurity risks facing the Company, with the escalation of significant cybersecurity matters to the Audit Committee and ultimately to the Board of Directors, as appropriate.&lt;/p&gt;</cyd:CybersecurityRiskRoleOfManagementTextBlock>
    <cyd:CybersecurityRiskManagementProcessesIntegratedTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_49VotPys80y0So4HwDTwHg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The governance framework is closely integrated via a structured compliance reporting framework operating across various governance levels. This framework also operates across geographic locations, with location specific compliance meetings conducted at a local management level and led by the CISO with assistance from the ISO team. This structured compliance reporting is intended to ensure that the highest levels of management are kept abreast of potential cybersecurity risks facing the Company, with the escalation of significant cybersecurity matters to the Audit Committee and ultimately to the Board of Directors, as appropriate.&lt;/p&gt;</cyd:CybersecurityRiskManagementProcessesIntegratedTextBlock>
    <cyd:CybersecurityRiskManagementProcessesIntegratedFlag
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Narr_ookBmDNrzUmlTCdbMKyrfA">true</cyd:CybersecurityRiskManagementProcessesIntegratedFlag>
    <ecd:Rule10b51ArrAdoptedFlag
      contextRef="Duration_10_1_2024_To_12_31_2024_e94n7merh0i_5dugZ2QBLQ"
      id="Narr_aSgRyfkV70i3zj7I_NBZoA">false</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:NonRule10b51ArrAdoptedFlag
      contextRef="Duration_10_1_2024_To_12_31_2024_e94n7merh0i_5dugZ2QBLQ"
      id="Narr_qaZHMTBCWkin0_aSOtL3ag">false</ecd:NonRule10b51ArrAdoptedFlag>
    <ecd:Rule10b51ArrTrmntdFlag
      contextRef="Duration_10_1_2024_To_12_31_2024_e94n7merh0i_5dugZ2QBLQ"
      id="Narr_EGN6LaFrKU28vL9PkcKxDg">false</ecd:Rule10b51ArrTrmntdFlag>
    <ecd:NonRule10b51ArrTrmntdFlag
      contextRef="Duration_10_1_2024_To_12_31_2024_e94n7merh0i_5dugZ2QBLQ"
      id="Narr_uLMtzQiBd02h3ITVdsttfA">false</ecd:NonRule10b51ArrTrmntdFlag>
    <dei:AuditorFirmId
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Narr_e8-w9KQpBEudoNzawwKc0A">6074</dei:AuditorFirmId>
    <dei:AuditorName
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Narr_dIuNt3GsRUGhHNC9kAR5KQ">BDO India LLP</dei:AuditorName>
    <dei:AuditorLocation
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Narr__DFEK8Em_EezxuGNt60tXQ">Mumbai</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_yXBSAibpDkWKHlur5AZ1Ag_4_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">46883000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_2ik7g50PqUCKdtl5DScRSg_4_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">13806000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:OtherShortTermInvestments
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_0rJvrrCnSEidIHv1kJAlLA_5_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">14000</us-gaap:OtherShortTermInvestments>
    <us-gaap:OtherShortTermInvestments
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_d7Hf0Di0a0OehFu2C-56jQ_5_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">14000</us-gaap:OtherShortTermInvestments>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_XL9Hir8hE0CnUHtGCRCKiw_6_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">28013000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_zUhv1Wl1OE-cBq_Z2G9xMA_6_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">14288000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_coAuwkNXXEigyNDlzQkNfA_7_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">6090000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_ad2LOFi3k0eEcBIdRCok2w_7_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3969000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_6kO8sn-YpkmCs2Fulb_Y4Q_8_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">81000000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_tOQLPUSWG0iiKOw_9PpbMg_8_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">32077000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_KskicRdwvUmPctDPUdlIgg_9_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">4101000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_ZxRpC8fgNEm0tBohiItvmQ_9_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2281000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_xocGmPHaNUuYI9Jh5tTKww_10_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">4238000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_8tmSFs3-AEuIdwZDHR7Bow_10_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">5054000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_TUD6pQBe-UGFqPuVgNnnug_11_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1267000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_F8xmCP0-WUy2qd_AJ6_9Qw_11_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2445000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_u2NJV-gSJkK9VvxiWcLoLA_12_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">7492000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_BvYVs9TFUUOTBB038Ox3ng_12_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1741000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_Zzbsxv3jr06yiFDDVGtlFg_13_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">13353000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_1XpwBi4nwEiEHBTaDMbkEg_13_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">13758000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_Ps0sIpNl8UKB58_RgvG_kw_14_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1998000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_sikJPPHvYEKRJbeSSu-CTg_14_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2075000</us-gaap:Goodwill>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_OSyW76cZUEy5yHYPZBwHyg_15_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">113449000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_7m3Huv2Cfky7zv_Yq91GuQ_15_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">59431000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_9hVORRAAUEyuytrSdJKs2w_18_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">4554000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_wVpxVvuO8UqtlzBmx05NfA_18_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2662000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_2wE9kG3920-XbL4FEvcqcw_19_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">4891000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_XfQxuSCAVEuiKXGek_HTbQ_19_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3060000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_rPxlvFsLKUGlFytbYKxWGA_20_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">13836000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_SDmicTQMi0aYEJcD3Asgcw_20_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">7799000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_3bNvJbynpU6BAefQ5yW5cw_21_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">8010000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_dgU1y0SKf06aPJFnD-ySgw_21_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3523000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_ZjmPOjV8uEWDDylZWkNXLA_22_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">5695000</us-gaap:TaxesPayableCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_FBFETS9U_U61CTSeWhMhdA_22_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3848000</us-gaap:TaxesPayableCurrent>
    <inod:CurrentPortionOfLongTermObligations
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_wsWjWeHIGUe7N8vDf60piw_23_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1643000</inod:CurrentPortionOfLongTermObligations>
    <inod:CurrentPortionOfLongTermObligations
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_MDLqsAXPzkC0VmSJ6ReBJw_23_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1261000</inod:CurrentPortionOfLongTermObligations>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_kqWn15pzaE6TMiEaEIgoWg_24_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">877000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_5wM_kr5RLUa1LQHCyrnOYw_24_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">782000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_5QcylRSLE0KMcbyoGDQCig_25_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">39506000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_xTw2oiqdvkWnx52SrHzKug_25_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">22935000</us-gaap:LiabilitiesCurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_6XHeVL2a_EibfMANYzAtjQ_26_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">32000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_KKJi0A80kEG_kE2SFtmvaw_26_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">22000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <inod:NoncurrentPortionOfLongTermObligations
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_M3c7IxIVP0ygaJIXkgAQBg_27_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">6744000</inod:NoncurrentPortionOfLongTermObligations>
    <inod:NoncurrentPortionOfLongTermObligations
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_sPSX9X1wwEawaGC303NHOw_27_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">6778000</inod:NoncurrentPortionOfLongTermObligations>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_scZorTKmIUeSYjorPEmmgA_28_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3778000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_FmIdcNsZGkai3EXfODcMRg_28_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">4701000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_TIJ_bbZUEUaFsgEHW3bXkQ_29_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">50060000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_RJv4Q0ibvU6iKwz1ylGnJg_29_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">34436000</us-gaap:Liabilities>
    <us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_IMBEpRVkx02xVuESetihPw_33_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-83000</us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount>
    <us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_I-LkoYwi_k6cwAyWKM7Ptg_33_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-708000</us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="INF"
      id="Narr_wcalBIvnqEWAwXWoyPaD9Q"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">4998000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="INF"
      id="Narr_AyWOkc6EtkShJCOYKzE_yg"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">4998000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="INF"
      id="Narr_ZDYsGN_HwkmVoW4noqeTRg"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="INF"
      id="Narr_bu18FUWlNkq6ZJYVuzVP0Q"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="INF"
      id="Narr_WU8MXuleVESXwhQcHlqMUA"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="INF"
      id="Narr_rlkCvVL0pk-nJ0yGt37EDw"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="INF"
      id="Narr_HyHLnPUUQkC2PNeWfYLU7g"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">75000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="INF"
      id="Narr_MYoo6kLFx0i_76AjYAQmOQ"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">75000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="INF"
      id="Narr_2bJQBANz1EKVLHY-JkY2Uw"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">34484000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="INF"
      id="Narr_UYCXp7XTa0afrA3i9W8vqQ"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">31300000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="INF"
      id="Narr_4ySjd_aTWkuGo5CXWZktLA"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">31937000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="INF"
      id="Narr_dLFM_c_DfUawp1YQyK1siw"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">28753000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_wo0txQZSPEyOp7cC6iDhQA_36_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">345000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_NjW_otrEi0GCKgigmer1bg_36_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">320000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_ACb7s0dugkGb_LmZetxa7Q_37_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">53085000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_pJ83GokLJU-envJV5kfHHQ_37_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">43152000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_39PI3Md4NE67T_uFXsLqog_38_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">18977000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_tUzwxGryYkKryBuaz3FcHw_38_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-9683000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_CrFaopcpmkW1ed-4q7s2pA_39_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-2470000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_Ux8TXjNKq06cvoQQxcZo-Q_39_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-1621000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquityBeforeTreasuryStock
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_5wCbZix2o0iPYw04iBgPSg_40_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">69937000</us-gaap:StockholdersEquityBeforeTreasuryStock>
    <us-gaap:StockholdersEquityBeforeTreasuryStock
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_4zG2sx1o50WRVexjJYvo3A_40_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">32168000</us-gaap:StockholdersEquityBeforeTreasuryStock>
    <us-gaap:TreasuryStockCommonShares
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="INF"
      id="Narr_ujZWYESy20eS-nPLZNttow"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">3184000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="INF"
      id="Narr_yM-kwJVr40qpY0xUmDvjkA"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">3184000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockValue
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_N_5LC4_8ykmmdvXIPWj5lQ_41_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">6465000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_nkqf9uH9BUCy8kVD639qCw_41_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">6465000</us-gaap:TreasuryStockValue>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_4fsDxQbGNkSuRX1shhYhCQ_42_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">63472000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc__HX7LhlmhUC7sRfxOHxjNg_42_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">25703000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_CxhrieM3lUmiDyuJ-BHN9Q_43_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">113449000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_NWs1uhoetE6cqHO-weFskg_43_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">59431000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_4s--ny_Hs0e5r0O1o9ATdQ_2_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">170461000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_pe6xY7GDzUa_mUhD3Pkvwg_2_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">86775000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:DirectOperatingCosts
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_Ml527W-aMEmBPTafjo-Q8g_3_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">103387000</us-gaap:DirectOperatingCosts>
    <us-gaap:DirectOperatingCosts
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_8OrH7km-Bkudh1pw-pLF_A_3_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">55482000</us-gaap:DirectOperatingCosts>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_CduQJ-t2Pk2FP-f-2f5xNw_4_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">42738000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_iOHa9nwVn0Cp1bg_lekNJQ_4_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">30975000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_HS5x_EkvkkqrY_OweYpZHw_5_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">149000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_uZhqWQBS-UiWrFRroXzf8g_5_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-179000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:CostsAndExpenses
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_vJDx6VNmZUKmU4UBPqrBHQ_6_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">145976000</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_q_HXpUOm90uUqgOUHKcj-Q_6_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">86636000</us-gaap:CostsAndExpenses>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_iJbZ4c_qAkyZWdm-G4EC1g_7_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">24485000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_XSPIM0uR4U6O_Wjc48ti1Q_7_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">139000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_UDdnYbBN6kq3lR_cUe1k8w_9_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-4190000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_IecDz4ccK0Grq5E0Lft4Lw_9_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1028000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_bGP1eIREVEiGKhX4-28OIw_11_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">28675000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_G-qqLHjVF0mZMQpyvVfl1Q_11_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-889000</us-gaap:ProfitLoss>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_XZ_80ODfo0mThxhuk0-0Mw_13_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">15000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_Abwv1O1KwUGxlOVUxg_fzA_13_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">19000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_BrGONUNt0ECZBrxW4Ia84g_15_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">28660000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_p5mNnrgOW02MWIV5hv8x7g_15_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-908000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="2"
      id="Tc_yLSErO7mB0adeh9G9ixkSw_18_3"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">0.98</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="2"
      id="Tc_RPGB1vtAmE2Wl87oc-dz5g_18_6"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">-0.03</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="2"
      id="Tc_5lkOPJw9zUuFfaujf8i2yw_19_3"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">0.89</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="2"
      id="Tc_xoLe7raa_0KU9aOOfRC-fQ_19_6"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">-0.03</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_HTPB2sxNJka5StCkePRfKg_22_3"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">29163000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_hXAgkj-M_E6AGmmp0huJ7g_22_6"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">28131000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_iybKGyljCU2OauMJfy2vdQ_23_3"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">32177000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_OANbeRK1sUmceh_mdI2_Lg_23_6"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">28131000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_j0OVvjFXC02TPALM3Mv2QA_26_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">28675000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_4tfhP6e-4Uqbr4KFLAVYVg_26_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-889000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_8aN7ZFeNqkW0P-w_hHZ8Rg_27_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-179000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_qqqwrEZA1UiHXtHhiERGhw_27_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">326000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_xIejb2OVQUiMIIqYpgwSzA_28_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-592000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_lUjHo9qVcUeN7gBqPRuqBw_28_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">407000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_944IopjscUWvaMQw-Csp7g_29_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-436000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_B0dQWLrSsk-gR7VBiKwpGg_29_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">406000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_wYtA722GfU6gxKdgDlSwXA_30_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-849000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_HEw4vU_9g0u0l39ZB0jxzA_30_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">487000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_OReVe7RIWEKWOACK4tZlyQ_31_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">27826000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_6mfAer1mKUmhuzoEY2E42w_31_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-402000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_rD5JHJWWxU280oNLkclhjA_32_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">15000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_mB71gVLY1EuaGdkqRofm8Q_32_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">19000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_UvdWo9ieZUyirIO78rQxwQ_33_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">27811000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_vR6LJbKzcEKiYeSXA7NhBw_33_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-421000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_egytfkiAH0qoad7x1i3mMw"
      decimals="-3"
      id="Tc_Jt90YBzHzkGLXLuDC0_1cw_5_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">30589000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_egytfkiAH0qoad7x1i3mMw"
      decimals="-3"
      id="Tc_lk8katDQQky7a93zf5j_Jg_5_5"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">306000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_ShE4T_7_NkarxWPzA8RF3g"
      decimals="-3"
      id="Tc_uy9QxC3sJUCAy6qLpnHdUQ_5_8"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">35815000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_6yMIDHh6X02xbxdbay1Brw"
      decimals="-3"
      id="Tc_nXcChCtXFkKtJByqb0XqDA_5_11"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-8775000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_ee1CIzcen0m5NhH2RNN34Q"
      decimals="-3"
      id="Tc_M7IbXUZjH06ygwNDZb-cKA_5_14"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-2108000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_6jQMVoiAsEqczvfr8DGh5w"
      decimals="-3"
      id="Tc_2PmBG0cdaEG77VNM9Tw-LQ_5_16"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">-3184000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_6jQMVoiAsEqczvfr8DGh5w"
      decimals="-3"
      id="Tc_3UCV78lDsUWe6S3BvHuY8g_5_19"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-6465000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_WoVfVjcRzU6369CtXFJAWg"
      decimals="-3"
      id="Tc_4EZr7cFkP0CLhoa7ZmFTEw_5_22"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">18773000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_9fT9uSdqy0O4iRsMJVDdBQ"
      decimals="-3"
      id="Tc_0iXR6CpWV0em34LQqDKBmw_6_11"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-908000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_Eb_luMbig0y8u-9NryAeKw_6_22"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-908000</us-gaap:NetIncomeLoss>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Oj-lSX5ZT0qBDQ6HNFvFiw"
      decimals="-3"
      id="Tc_CSxrHwhvT0q5t51WeV-P2w_7_8"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">4027000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_GorMK3Ca30mzaqRsOGylOQ_7_22"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">4027000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_rAscOWNTsk2zumVWHLnwCg"
      decimals="-3"
      id="Tc_tLSVvpROQkWRXKDhj9yg8Q_8_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">1351000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_rAscOWNTsk2zumVWHLnwCg"
      decimals="-3"
      id="Tc_t_iMbjgU-0WI73NNbaWr-w_8_5"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">14000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Oj-lSX5ZT0qBDQ6HNFvFiw"
      decimals="-3"
      id="Tc_kcl89ZoX5k-QNT53KFQ7Og_8_8"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3310000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_Zyq8L4CUT0qjXh5Oy7fTYQ_8_22"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3324000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_rAscOWNTsk2zumVWHLnwCg"
      decimals="-3"
      id="Tc_AoVPwOE5PkGB24jQtm9ezQ_9_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">3000</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_7EVSMZ6DwUa94xKEQUjYlg"
      decimals="-3"
      id="Tc_xt-ZPrOgCkOkt-sHjW8piw_10_14"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">326000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_qRtUpkojKkyfksL_1XdnEw_10_22"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">326000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_7EVSMZ6DwUa94xKEQUjYlg"
      decimals="-3"
      id="Tc_OIS1sMCLTk2IKje7yjPqVA_11_14"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">407000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc__5sKcLLYAU6g6RkJHYMWKA_11_22"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">407000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_7EVSMZ6DwUa94xKEQUjYlg"
      decimals="-3"
      id="Tc_TtzjhWHnJkGLF35mkDK8-A_12_14"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">406000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_BttFx78gNUq_AdghYgEh-w_12_22"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">406000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:SharesOutstanding
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_p_PZX76naUql9HYXXBjJ3Q"
      decimals="-3"
      id="Tc_vJtbvYGJVUKe9y_L-CBVMA_13_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">31937000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_p_PZX76naUql9HYXXBjJ3Q"
      decimals="-3"
      id="Tc_rM8KvjMZIkm1pV8Hn5V3bw_13_5"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">320000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_N_3EjNshDUq3PPmZyM-gKQ"
      decimals="-3"
      id="Tc_8hSE_xgrmkyT-MJCioJziQ_13_8"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">43152000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_pxApacqkV0O9k2EwxZy_-A"
      decimals="-3"
      id="Tc_mBHx94Qc50Sj1PxUkzAGfw_13_11"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-9683000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_V7v7ubfu6k6Xs9sp3gx4cg"
      decimals="-3"
      id="Tc_LnDscNpjxUia8z5X1iHzuA_13_14"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-1621000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_LnHQUrJ0-kiftXtbNdvXSA"
      decimals="-3"
      id="Tc_hwwVXJ_lbke9sjFH4yFQKQ_13_16"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">-3184000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_LnHQUrJ0-kiftXtbNdvXSA"
      decimals="-3"
      id="Tc_W9Mg6aPe0EydCDcxUNwOpA_13_19"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-6465000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_pums0tdLQUCFo-53udeDcw_13_22"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">25703000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_L6FjkbeiQEqL6Nf8ptlZfg"
      decimals="-3"
      id="Tc_TbHJyKknNk2OuBIvY1hOMQ_14_11"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">28660000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_DGvjTPTsTEW_HjW9LObfgg_14_22"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">28660000</us-gaap:NetIncomeLoss>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_bD8dJkXY7EiAehWPrCYChg"
      decimals="-3"
      id="Tc_4Lyix_Cw0EGMf8l0Iclztg_15_8"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3998000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_oZ8Www-uqEmc10qkInFR6A_15_22"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3998000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_AcPvuwTUIUyHTVWxo6Bl1Q"
      decimals="-3"
      id="Tc_GvekWQIRDkCAGY4Uh54bOw_16_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">2506000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_AcPvuwTUIUyHTVWxo6Bl1Q"
      decimals="-3"
      id="Tc_t81wPC2ibUGh361GCMwvzA_16_5"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">25000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_bD8dJkXY7EiAehWPrCYChg"
      decimals="-3"
      id="Tc_4Z08jFELtkGjEibbhiw-wg_16_8"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">6643000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_0_TqCZ1AR0yqbPOJi7wx4w_16_22"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">6668000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_AcPvuwTUIUyHTVWxo6Bl1Q"
      decimals="-3"
      id="Tc_STc1PUU6NEeBzmFF1pHPJg_17_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">41000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:RestrictedStockValueSharesIssuedNetOfTaxWithholdings
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_bD8dJkXY7EiAehWPrCYChg"
      decimals="-3"
      id="Tc_LnSE3epCN0K9IxlHIBLw9A_18_8"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-97000</us-gaap:RestrictedStockValueSharesIssuedNetOfTaxWithholdings>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_HM_z9uQc2k-Q3VVmXdHLRQ_18_22"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">97000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalOther
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_bD8dJkXY7EiAehWPrCYChg"
      decimals="-3"
      id="Tc_ccWgXZqHSkmLgR-qtykBSg_19_8"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-611000</us-gaap:AdjustmentsToAdditionalPaidInCapitalOther>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalOther
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_L_2WMECz8EC7Thamjjnymg_19_22"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-611000</us-gaap:AdjustmentsToAdditionalPaidInCapitalOther>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_jD5VrhScy06RSiAu49DIAA"
      decimals="-3"
      id="Tc_WALIF5C7nUWEiZgMvWG9Mw_20_14"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-179000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_1jnbMBJki0-UUZu6xIKkFw_20_22"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-179000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_jD5VrhScy06RSiAu49DIAA"
      decimals="-3"
      id="Tc_A2JKJ3N9K0en6py10Z8TzQ_21_14"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-592000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc__6vJNNUAaUik7_Y8ATXBdA_21_22"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-592000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_jD5VrhScy06RSiAu49DIAA"
      decimals="-3"
      id="Tc_Tgnv_YyKO0Cosnh5UpPERw_22_14"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-436000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_geNac8tMtEaZzjJ450iuaA_22_22"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-436000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:SharesOutstanding
      contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_BviIBhrirESSkgraRDdqgg"
      decimals="-3"
      id="Tc_EHG6eUYQxUW6B2YMWCxi1g_23_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">34484000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_BviIBhrirESSkgraRDdqgg"
      decimals="-3"
      id="Tc_PG2WJWbj7kurcXyXMFlQjQ_23_5"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">345000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_fk-VZ9zSikWIXZIhj6xt2A"
      decimals="-3"
      id="Tc_tBJ_pCIcUUu3MmY3wTXCBQ_23_8"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">53085000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_CwhXtrb-b0SgkMQUjSZW0w"
      decimals="-3"
      id="Tc_CMbbbrpPdEu1Y4ukDLDEcQ_23_11"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">18977000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_CSRCPJe9v0OyfUwMc3gLkg"
      decimals="-3"
      id="Tc_4CrF5Wj8zkS4Z_Iu-oltMA_23_14"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-2470000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares
      contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_8vYuT3SzSUKXbb9D-_JT2A"
      decimals="-3"
      id="Tc_W0AJqpR35kWL8fCJqBY6KQ_23_16"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">-3184000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_8vYuT3SzSUKXbb9D-_JT2A"
      decimals="-3"
      id="Tc_m28r_OhmcEGNUE2dxIwA2Q_23_19"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-6465000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_t2hx0I-t3EuDdeIziwDkPw_23_22"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">63472000</us-gaap:StockholdersEquity>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_CYGMJkWu3U-LxiJZ1PeX2Q_4_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">28675000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_smFlTdN530uHbc8CzwC_2Q_4_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-889000</us-gaap:ProfitLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_yYhpe-34cUKbSqHEf0wNVg_6_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">5796000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_0XiHXlsfVkOL3vbyAkmwLw_6_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">4716000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_Dv6lLKNZV0-_g2F_x0V7eA_7_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3998000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_wn9FpN-zCUmfbif-6xdBUA_7_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">4027000</us-gaap:ShareBasedCompensation>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_C38td2cS90OUne6EiEiX_w_8_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-5609000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_qv3M7e2e1kyGm7DLFAG26A_8_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-276000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:ProvisionForLoanLossesExpensed
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_LSYajEPIW0iHTdhF0ULSBQ_9_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">804000</us-gaap:ProvisionForLoanLossesExpensed>
    <us-gaap:ProvisionForLoanLossesExpensed
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_Wjc8lPNkpUOpCoitBvkYYA_9_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">426000</us-gaap:ProvisionForLoanLossesExpensed>
    <us-gaap:DefinedContributionPlanIncreaseDecreaseCost
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_Q5dZLCeB9kS5FH2pih467g_10_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1237000</us-gaap:DefinedContributionPlanIncreaseDecreaseCost>
    <us-gaap:DefinedContributionPlanIncreaseDecreaseCost
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_A__-sPolR0CyATFm8LGIhA_10_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1046000</us-gaap:DefinedContributionPlanIncreaseDecreaseCost>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_2W2ITaptoEe2fXOUygplnA_12_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">14688000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_l_2Lj9l5a0u_kKUKHzyVfQ_12_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">5116000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_RJNYmR_1z0yqnvUV05graQ_13_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2233000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_b-g179sa6E2DDO6_stoS1Q_13_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-372000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_F_9Om3SXgk6V-Tg4rE9i0g_14_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-1177000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_EB9ggAd5nU6CwQ0g9X4kjw_14_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">171000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_VC0KFF4nIECyuO7fa5plJQ_15_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3429000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_LvMmTBtNpUy9ucn-3d8_AA_15_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">353000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_Rr3n88t72kKbRZvwTbmgIQ_16_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">4487000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc__bzsUGE-zkGBpZhyUbnvDQ_16_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-843000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_nqUU6YA93U-j3cRc9aXugg_17_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">6063000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_kiLC15N6gU6L3QZoqFmjmw_17_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1653000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedTaxesPayable
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_-mra-5lXeEKKUxEivIVFLQ_18_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1879000</us-gaap:IncreaseDecreaseInAccruedTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedTaxesPayable
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_dOv7SMrIHEeb-ONuhIRYbw_18_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">605000</us-gaap:IncreaseDecreaseInAccruedTaxesPayable>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_H1iclLTmJUiiqT7vllXx2A_19_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">35015000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_wv6ymmAlXUOtKo8FA-UCag_19_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">5903000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_OuPXYTpqBEuReIOc66IhWg_21_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">7741000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_2ALlunybb0Gc0tGm_wHTkA_21_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">5564000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsForProceedsFromShortTermInvestments
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_NaWKB6nl1k2fvfwSkgrMUQ_22_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-493000</us-gaap:PaymentsForProceedsFromShortTermInvestments>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_JuokBggvxUCO3oLaKFtGuw_23_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-7741000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_MJFTuH7EUUue5Ivpn31x6Q_23_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-5071000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_PS-Nh9JaS0OtFgdfRee_Jw_25_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">6668000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_1MBAjERv10iR35E-lwBraQ_25_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3324000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_oYZHLj91t0iUVF5MhpDq4Q_26_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">97000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_9f1A5i21jEqzoK7fGZRCWw_27_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">513000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_DV7ICjHII0CakGB4KDP6eQ_27_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">452000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_BjzYGTqJr0Ow25-zJLhxZw_28_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">6058000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_uhmZyQR-jkCm5-00_snuHw_28_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2872000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_L7ohfY3KHkuYCaN3_s5DLA_29_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-255000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_nErK73mzmEirijWhXPtpbw_29_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">310000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_-59LO6Cv9Ue1HExQeDYzHg_30_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">33077000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_sQREW-4FC0G7yQekoXobsA_30_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">4014000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_Cb4x9pc9OEOyRxhMVzGoxA_31_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">13806000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2022_WoVfVjcRzU6369CtXFJAWg"
      decimals="-3"
      id="Tc_ElirvCwUq0iVTkyNADbP_A_31_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">9792000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_PoblX8-UPk-dje8hNcyXiA_32_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">46883000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_Y18uUrwFDUKqek7mX66M6A_32_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">13806000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <inod:VendorFinancedSoftwareLicensesAcquired
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_18CH_aMwKUacW7SIy19Cew_34_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1162000</inod:VendorFinancedSoftwareLicensesAcquired>
    <us-gaap:IncomeTaxesPaid
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_g8bicq-LLUGK5gKmWS3MrQ_35_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2418000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_tXxDZc316EiAJFkQtaeMcg_35_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">753000</us-gaap:IncomeTaxesPaid>
    <us-gaap:OperatingLeasePayments
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_Ga7rrguRWEqcqeL93GBq-g_36_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1435000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_uwG6OqauQkCpipvilQgjPA_36_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1557000</us-gaap:OperatingLeasePayments>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_RsXE128QFUqnxBRf4qQcVg_37_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">287000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_89Pm5A_Oik62SY1gsCNi2Q_37_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">400000</us-gaap:InterestPaidNet>
    <us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_QtJ0tIPYf0eCnIf8jqyyNw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;1. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Description of Business and Summary of Significant Accounting Estimates and Policies &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Description of Business&lt;/b&gt; - Innodata Inc. (Nasdaq: INOD) (including its subsidiaries, the &#x201c;Company&#x201d;, &#x201c;Innodata&#x201d;, &#x201c;we&#x201d;, &#x201c;us&#x201d; or &#x201c;our&#x201d;) is a leading data engineering company. The Company&#x2019;s mission is to help the world&#x2019;s most prestigious companies deliver the promise of ethical, high-performing artificial intelligence (&#x201c;AI&#x201d;), which the Company believes will contribute to a safer and more prosperous world.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company was founded on a simple idea: engineer the highest quality data so organizations across broad industry segments could make smarter decisions. Today, the Company believes it is delivering the highest quality data for some of the world&#x2019;s most innovative technology companies to use to train the AI models of the future.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;AI holds the promise that computers can perceive and understand the world, enabling products and services that would have been previously unimaginable and impossible with traditional coding. AI learns from data, and the highest-performing AI will have learned from the highest-quality data. The Company believes that it can contribute meaningfully by harnessing its capabilities, honed over 35+ years, in collecting and annotating data at scale with consistency and high accuracy.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company is also helping companies deploy and integrate AI into their operations and products and providing innovative AI-enabled industry platforms, helping ensure that its customers&#x2019; businesses are prepared for a world in which machines augment human activity in ways previously unimaginable. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company developed its capabilities and honed its approaches progressively over the last 35+ years creating high-quality data for many of the world&#x2019;s most demanding information companies. Approximately nine years ago, the Company formed Innodata Labs, a research and development center, to research, develop and apply machine learning and emerging AI to its large-scale, human-intensive data operations. In 2019, the Company began packaging the capabilities that emerged from its R&amp;amp;D efforts in order to align with several fast-growing new markets and help companies use AI/ML to drive performance benefits and business insights.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s historical core competency in high-quality data, combined with these R&amp;amp;D efforts in applied AI, created the foundation for the evolution of the Company&#x2019;s offerings, which include AI Data Preparation, AI Model Deployment and Integration, and AI-Enabled Industry Platforms.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;AI Data Preparation&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;For several of the world&#x2019;s large technology companies, the Company supports their efforts at building generative AI foundation models. For these companies, the Company provides or is poised to provide a range of scaled data solutions and services. The Company&#x2019;s scaled data solutions include providing instruction data sets for fine-tuning LLMs to understand prompts, to accept instruction, to converse, to apparently reason, and to perform the myriad of incredible feats that many of us have now experienced. The Company also provides reinforcement learning and reward modeling, services which are critical to provide the guardrails against toxic, bias and harmful responses, and model evaluation services. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;For social media companies, financial services companies, and many others, the Company collects or creates training data, annotates training data, and trains AI algorithms for working with images, text, video, audio, code and sensor data. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company utilizes a variety of leading third-party tools, proprietary tools and customer tools. For text annotation, the Company uses its proprietary data annotation platform that incorporates AI to reduce cost while improving consistency and quality of output. The Company&#x2019;s proprietary data annotation platform features auto-tagging capabilities that apply to both classical and generative AI tasks. The platform encapsulates many of the innovations the Company has conceived of in the course of its 35-year history of creating high-quality data.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;In addition, because collecting real-world data is often impracticable (due to data privacy regulations or rarity of cohorts and outliers), the Company creates high-quality synthetic data that maintains all of the statistical properties of real-world data, using a combination of domain specialists and machine technologies that leverage large language models (LLMs).&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;AI Model Deployment and Integration&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company helps businesses leverage the latest AI technologies to achieve their goals. The Company develops custom AI models (where it selects the appropriate algorithms, tunes hyperparameters, trains and validates the models, and updates the models as required). The Company also helps businesses fine-tune their own custom versions of the Company&#x2019;s proprietary models and third-party foundation models to address domain-specific and customer-specific use cases.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;For the Company&#x2019;s customers that provide products and solutions that require intensive text data processing and analytics, in addition to deploying and integrating AI models, the Company often provides a range of data engineering support services including data transformation, data curation, data hygiene, data consolidation, data extraction, data compliance, and master data management.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s customers span a diverse range of industries and a wide range of AI use cases, benefiting from the short time-to-value and high economic returns of the Company&#x2019;s AI solutions and platforms.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;AI-Enabled Industry Platforms&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s AI-enabled industry platforms address specific, niche market requirements the Company believes it can innovate with AI/ML technologies. The Company deploys these industry platforms as software-as-a-service (SaaS) and as managed services. These platforms benefit from the Company&#x2019;s technology infrastructure, its industry-specific knowledge, its strong customer relationships and experience merging technology with the business processes of its customers. To date, the Company has built an industry platform for medical records data extraction and transformation (which the Company brands as &#x201c;Synodex&lt;sup style="font-size:8.25pt;line-height:100%;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;top:0pt;vertical-align:top;"&gt;&#xae;&lt;/sup&gt;&#x201d;) and an industry platform for public relations (which the Company brands as &#x201c;Agility PR Solutions&#x201d;). The Company is in development with an additional AI-enabled industry platform to serve financial services institutions.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s Synodex industry platform transforms medical records into useable digital data organized in accordance with its proprietary data models or customer data models. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s Agility industry platform provides marketing communications and public relations professionals with the ability to target and distribute content to journalists and social media influencers world-wide and to monitor and analyze global news (print, web, radio and TV) and social media.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s operations are presently classified and reported in three reporting segments: Digital Data Solutions (DDS), Synodex and Agility.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Significant Accounting Policies and Estimates&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Principles of Consolidation &lt;/b&gt;-&lt;b style="font-weight:bold;"&gt; &lt;/b&gt;The consolidated financial statements include the accounts of Innodata Inc. and its wholly owned subsidiaries, and Innodata docGenix, LLC, a limited liability company that was majority-owned by the Company during the year ended December 31, 2024. The minority interests of Innodata docGenix, LLC were redeemed by the Company on December 31, 2024.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The non-controlling interests in the docGenix limited liability company at December 31, 2023 had call and put options that can be settled in cash or stock. Accordingly, this is presented in temporary equity in accordance with Financial Accounting Standards Board (FASB) non-controlling interest guidance. All intercompany transactions and balances have been eliminated in consolidation.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Use of Estimates&#160;&lt;/b&gt;- In preparing consolidated financial statements in conformity with U.S. GAAP, management is required to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities as of the date of the consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. Management believes that the estimates and assumptions used in the preparation of the consolidated financial statements are reasonable. Actual results could differ from those estimates. Significant estimates include those related to the allowance for credit losses and billing adjustments, useful life of long-lived assets, useful life of intangible assets, impairment of goodwill and intangible assets, valuation of deferred tax assets, valuation of stock-based compensation, pension benefit plan assumptions, litigation accruals and estimated accruals for various tax exposures.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue Recognition&#160;&lt;/b&gt;- The Company&#x2019;s revenue is recognized when services are rendered or goods are delivered to a customer, in an amount that reflects the consideration that the Company expects to receive in exchange for those services or goods as per the agreement with the customer. In cases where there are agreements with multiple performance obligations, the Company identifies each performance obligation and evaluates whether the performance obligations are distinct within the context of the agreement at the agreement&#x2019;s inception. Performance obligations that are not distinct at agreement inception are combined. For agreements with distinct performance obligations, the Company allocates the transaction price to each distinct performance obligation proportionately based on the estimated standalone selling price for each performance obligation, if any, and then evaluates how the services are performed for the customer to determine the timing of revenue recognition.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;For the Digital Data Solutions (DDS) segment, revenue is recognized primarily based on the quantity delivered or resources utilized in the period in which services are performed and performance conditions are satisfied as per the agreement. Revenue from agreements billed on a time-and-materials basis is recognized as services are performed. Revenue from fixed-fee agreements, which is not significant to overall revenues, is recognized based on the proportional performance method of accounting, as services are performed, or milestones are achieved.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;For the Synodex segment, revenue is recognized primarily based on the quantity delivered in the period in which services are performed and performance conditions are satisfied as per the agreement. A portion of the Synodex segment revenue is derived from licensing the Company&#x2019;s functional software and providing access to the Company&#x2019;s hosted software platform. Revenue from such services is recognized monthly when all parties to the agreement have agreed to the agreement; each party&#x2019;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; access to the service is provided to the end user; and collection is probable.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Agility segment derives its revenue primarily from subscription arrangements and provision of enriched media analysis services. It also derives revenue as a reseller of corporate communication solutions. Revenue from subscriptions is recognized monthly when access to the service is provided to the end user; all parties to the agreement have agreed to the agreement; each party&#x2019;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; and collection is probable. Revenue from enriched media analysis services is recognized when the services are performed, and performance conditions are satisfied. Revenue from the reseller agreements is recognized at the gross amount received for the goods in accordance with the Company functioning as a principal due to the Company meeting the following criteria: the Company acts as the primary obligor in the sales transaction; assumes the credit risk; sets the price; can select suppliers; and is involved in the execution of the services, including after sales service.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Revenue associated with the services provided in one period and billed in a subsequent period is commonly referred to as unbilled revenues and is included under Accounts receivable.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company considers U.S. GAAP criteria for determining whether to report gross revenue as a principal versus net revenue as an agent. The Company evaluates whether it is in control of the services before the same are transferred to the customer to assess whether it is principal or agent in the arrangement.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;Contract acquisition costs, which are included in prepaid expenses and other current assets, are amortized over the term of a subscription agreement or contract that normally has a duration of 12 months or less. The Company reviews these prepaid acquisition costs on a periodic basis to determine the need to adjust the carrying values for early terminated contracts. Included in prepaid expenses and other current assets on the accompanying consolidated balance sheets are contract acquisition costs amounting to $1.1 million and $0.8 million for the years ended December 31, 2024 and 2023 , respectively. These acquisition costs relate to our Agility segment and are amortized using the straight-line method over the term of the subscription agreement.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign Currency Translation&#160;&lt;/b&gt;- The functional currency of the Company&#x2019;s subsidiaries in the Philippines, India, Sri Lanka, Israel, Hong Kong, the U.K. and Canada (other than the Agility subsidiaries) is the U.S. dollar. Transactions denominated in Philippine pesos, Indian and Sri Lankan rupees, Israeli shekels, U.K. pound sterling and Canadian dollars are translated to U.S. dollars at rates which approximate those in effect on the transaction dates. Monetary assets and all liabilities denominated in foreign currencies on December 31, 2024 and December 31, 2023 are translated at the exchange rate in effect as of those dates. Non-monetary assets and stockholders&#x2019; equity are translated at the appropriate historical rates. Included in direct operating costs were foreign exchange (gains) losses resulting from such translations of approximately ($0.2) million and $0.4 million for the&#160;years ended December 31, 2024 and 2023, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The functional currency for the Company&#x2019;s subsidiary in Germany is the Euro. The functional currencies for the Company&#x2019;s Agility subsidiaries in the U.K. and Canada are the Pound Sterling and the Canadian dollar, respectively. The financial statements of these subsidiaries are prepared in their respective currencies. Financial information is translated from the applicable functional currency to the U.S. dollar (the reporting currency) for inclusion in the Company&#x2019;s consolidated financial statements. Income, expenses, and cash flows are translated at weighted-average exchange rates prevailing during the fiscal period, and assets and liabilities are translated at fiscal period-end exchange rates. Resulting translation adjustments are included as a component of accumulated other comprehensive income loss in stockholders&#x2019; equity. Foreign exchange transaction gains or losses are included in direct operating costs in the accompanying consolidated statements of operations and comprehensive income.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:12.0pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Derivative Instruments&#160;- &lt;/b&gt;The Company accounts for derivative transactions in accordance with the FASB&#x2019;s Accounting Standards Codification (&#x201c;ASC&#x201d;) Topic 825, &#x201c;Financial Instruments&#x201d;. For derivative instruments that are designated and qualify as cash flow hedges, the entire change in fair value of the hedging instrument is recorded in Other comprehensive income (loss). When the amounts recorded in Other comprehensive income (loss) are reclassified to earnings, they are included as part of Direct operating costs. For derivative instruments that are not designated as hedges, any change in fair value is recorded directly in earnings as part of Direct operating costs. The total notional value of designated outstanding foreign currency forward contracts was $22.5 million and $10.5 million as of December 31, 2024 and 2023, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Cash Equivalents&#160;- &lt;/b&gt;For financial statement purposes, the Company considers all highly liquid instruments purchased with an original maturity of three&#160;months or less to be cash equivalents.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Short term Investments-other&#160;- &lt;/b&gt;For financial statement purposes, the Company considers investments made in time deposits and treasury bills having an original maturity of more than three months but less than one year from the balance sheet date under short term investments.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Concentration of Credit Risk&#160;-&lt;/b&gt; The Company maintains its cash with highly rated financial institutions, located in the United States and in foreign locations where the Company has its operations. At December 31, 2024, the Company had cash and cash equivalents of $46.9 million, of which $17.9 million was held by its foreign subsidiaries and $29.0 million was held in the United States. To the extent that such cash exceeds the maximum insurance levels, the Company is uninsured. The Company has not experienced any losses in such accounts.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accounts Receivable&#160;-&lt;/b&gt; Accounts receivable is generally recorded at the invoiced amounts, net of an allowance for expected losses. The Company establishes credit terms for new customers based upon management&#x2019;s review of their credit information and project terms, and performs ongoing credit evaluations of its customers, adjusting credit terms when management believes appropriate based upon payment history and an assessment of the customer&#x2019;s current creditworthiness.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;We record an allowance for credit losses for estimated losses resulting from the failure of our customers to make the required payments and provisions for billing adjustments relating to quality issues on delivered services. The allowance for credit losses is based on a review of specifically identified accounts and an overall aging analysis applied to accounts pooled based on similar risk characteristics. Judgments are made with respect to the collectability of accounts receivable within each pool based on historical experience, current payment practices, and current economic trends based on our expectations over the expected life of the receivables, generally ninety days or less. Actual credit losses could differ from those estimates.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Property and Equipment&lt;/b&gt;&#160;&lt;b style="font-weight:bold;"&gt;- &lt;/b&gt;Property and equipment are stated at cost and are depreciated on the straight-line method over the estimated useful lives of the related assets, which is generally &lt;span style="-sec-ix-hidden:Hidden_JBYbhKVqzEGL0mHdEk0dxw;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;two&lt;/span&gt;&lt;/span&gt; to &lt;span style="-sec-ix-hidden:Hidden_hPmr4tYES0iTF5TyWe2ahg;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;ten years&lt;/span&gt;&lt;/span&gt;. Leasehold improvements are amortized on a straight-line basis over the shorter of their estimated useful lives or the terms of the leases. Certain assets under capital leases are amortized over the lives of the respective leases or the estimated useful lives of the assets, whichever is shorter.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Capitalized Developed Software - &lt;/b&gt;The Company incurs development costs related to software it develops for its internal use. Qualifying costs incurred during the application development stage are capitalized. These costs primarily consist of internal labor and third-party development costs and are amortized using the straight-line method over the estimated useful life of the capitalized developed software, which generally ranges from &lt;span style="-sec-ix-hidden:Hidden_tEUnEellt0mU_k_YoZWk7Q;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;three&lt;/span&gt;&lt;/span&gt; to ten years. All other research and maintenance costs are expensed as incurred. Capitalized developed software in progress as of December 31, 2024 and 2023 were $3.6 million and $3.5 million, respectively. The cumulative completed capitalized developed software as of December 31, 2024 and 2023 was $19.8 million and $15.2 million, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Long-lived Assets&#160;-&lt;/b&gt; Management assesses the recoverability of its long-lived assets, whenever events or changes in circumstances indicate that the carrying value may not be recoverable. The following factors, if present, may trigger an impairment&#160;review: (i)&#160;significant&#160;underperformance relative to expected historical or projected future operating results; (ii)&#160;significant negative industry&#160;or&#160;economic&#160;trends; (iii)&#160;significant decline in the Company&#x2019;s stock price&#160;for&#160;a&#160;sustained&#160;period;&#160;and&#160;(iv)&#160;a&#160;change&#160;in the Company&#x2019;s market capitalization relative to net book value. If the recoverability of these assets is unlikely because&#160;of&#160;the&#160;existence&#160;of one or more of the above-mentioned factors, an&#160;impairment analysis is performed, using undiscounted cash flow&#160;projections. Management makes assumptions regarding estimated future cash flows and other factors to determine the fair value of these respective assets. An impairment loss will be recognized only if the carrying value of a long-lived asset is not recoverable and exceeds its fair value and is measured as the amount by which the carrying amount of a long-lived asset exceeds its fair value.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Goodwill and Other Intangible Assets&lt;/b&gt;&#160;&lt;b style="font-weight:bold;"&gt;- &lt;/b&gt;The Company performs a valuation of assets acquired and liabilities assumed on each acquisition accounted for as a business combination and allocates the purchase price of each acquired business to its respective net tangible and intangible assets and liabilities. Acquired intangible assets principally consist of technology, customer relationships, backlog and trademarks, having useful lives which range from &lt;span style="-sec-ix-hidden:Hidden_GyFyEVe85kuWxhzAdg74oA;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;ten&lt;/span&gt;&lt;/span&gt; to twelve years. The Company determines the appropriate useful life by performing an analysis of expected cash flows based on projected financial information of the acquired businesses. Intangible assets are amortized over their estimated useful lives using the straight-line method, which approximates the pattern in which the majority of the economic benefits are expected to be consumed. Intangible assets are amortized into direct operating costs ratably over their expected related revenue streams over their useful lives.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Goodwill represents the excess of the cost of an acquired entity over the fair value of the acquired net assets. The Company does not amortize goodwill but evaluates it for impairment at the reporting unit level annually during the third quarter of each fiscal&#160;year (as of September&#160;30 of that year) or when an event occurs, or circumstances change, that indicates the carrying value may not be recoverable.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company performed its annual goodwill assessment for the Agility segment as of September 30, 2024 for impairment. The impairment test involves estimating the fair value based on a combination of income (estimates of future discounted cash flows) and the market approach (market multiples for similar companies) using unobservable inputs (Level 3). The Company concluded that there is no impairment of goodwill for the Agility segment.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Income Taxes&#160;&lt;/b&gt;- Estimated deferred taxes are determined based on the difference between the financial statement and tax basis of assets and liabilities, using enacted tax rates, as well as any net operating loss or tax credit carryforwards expected to reduce taxes payable in future&#160;years. A valuation allowance is provided when it is more likely than not that all or some portion of the estimated deferred tax assets will not be realized. While the Company considers future taxable income in assessing the need for the valuation allowance, in the event that the Company anticipates that it will be able to realize the estimated deferred tax assets in the future in excess of its net recorded amount, an adjustment to the provision for deferred tax assets would increase income in the period such determination was made. Similarly, in the event that the Company anticipates that it will not be able to realize the estimated deferred tax assets in the future considering future taxable income, an adjustment to the provision for deferred tax assets would decrease income in the period such determination was made. Changes in the valuation allowance from period to period are included in the Company&#x2019;s tax provision in the period of change. The Company indefinitely reinvests the foreign earnings in its foreign subsidiaries. If such earnings are repatriated in the future, or are no longer deemed to be indefinitely reinvested, the Company would have to accrue as a liability the applicable amount of foreign jurisdiction withholding taxes associated with such remittances.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;In assessing the realization of deferred tax assets, management considered whether it is more likely than not that all or some portion of the deferred tax assets of entities in the U.S., Canada, Germany and the U.K. will be realizable or not.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s assessment for the U.S. and the U.K. entities during the year ended December 31, 2024 yielded positive evidence enabling the release of the valuation allowance for the U.S. and the U.K. deferred tax assets under &#x201c;ASC Topic 740-10-30-22 &#x2013; Accounting for Income Taxes&#x201d;.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;As the expectation of future taxable income of the Canadian and German entities cannot be predicted with reasonable accuracy, the Company maintains a valuation allowance against the deferred tax assets of these entities.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company accounts for income taxes regarding uncertain tax positions, and recognizes interest and penalties related to uncertain tax positions in income tax expense in the consolidated statements of operations and comprehensive income.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accounting for Leases&#160;&lt;/b&gt;-&lt;b style="font-weight:bold;"&gt; &lt;/b&gt;Accounting Standards for Codifications (ASC 842 &#x201c;Accounting for Leases&#x201d;) requires lessees to recognize most leases on their balance sheets as liabilities, with corresponding &#x201c;right-of-use&#x201d; assets. The Company recognizes a right-of-use asset and corresponding lease liability for all its operating leases. See Note 8, Operating Leases.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The determination of whether an arrangement is, or contains, a lease is based on the substance of the arrangement at the inception date and requires an assessment of whether the fulfillment of the arrangement is dependent on the use of a specific asset or assets, or the arrangement conveys a right to use the asset. A reassessment is made after inception of the lease only if one of the following applies:&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;a.&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;there is a change in contractual terms, other than a renewal or extension of the arrangement; &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;b.&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;a renewal option is exercised, or extension granted, unless the term of the renewal or extension was initially included in the lease term; &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;c.&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;there is a change in the determination of whether fulfillment is dependent on a specified asset; or &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;d.&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;there is a substantial change to the asset. &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:10pt;"&gt;&lt;/div&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Whenever a reassessment is made, lease accounting shall commence or cease from the date when the change in circumstances gave rise to the reassessment for scenarios (a), (c) or (d) and at the date of renewal or extension period for scenario (b).&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;Leases where the lessor retains substantially all the risks and rewards of ownership are classified as operating leases. As of December 31, 2024, all of the Company&#x2019;s leases are classified under operating leases. Operating lease payments are recognized as an operating expense on a straight-line basis over the lease term.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accounting for Stock-Based Compensation&#160;-&lt;/b&gt; The Company measures and recognizes stock-based compensation expense for all share-based payment awards made to employees and directors based on the estimated fair value at the grant date. The stock-based compensation expense is recognized over the requisite service period. The fair value of stock option grants is determined using the Black-Scholes option-pricing model and the fair value of restricted stock units is determined using the Binomial option pricing model. For restricted stock units which are time vested, the fair value is determined based on the grant date fair value.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The stock-based compensation expense related to the Company&#x2019;s stock plans were allocated as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:61.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:35.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year&#160;Ended&#160;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Direct operating costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 281&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 294&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Selling and administrative expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,717&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,733&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total stock-based compensation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,998&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,027&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair Value of Financial Instruments&#160;&lt;/b&gt;- The carrying amounts of financial instruments approximated their fair value as of December 31, 2024 and 2023, because of the relatively short maturity of these instruments. See Note&#160;16, Derivatives.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Fair value measurements and disclosures define fair value as the 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.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The accounting standard establishes a fair value hierarchy that prioritizes the inputs used to measure fair value into three levels. The three levels are defined as follows:&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;"&gt;Level 1&lt;/i&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;: Unadjusted quoted price in active market for identical assets and liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;"&gt;Level 2:&lt;/i&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt; Inputs other than those included in Level 1 that are observable for the asset or liability, 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;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;"&gt;Level 3:&lt;/i&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt; Unobservable inputs reflecting management&#x2019;s own assumptions about the inputs used in pricing the asset or liability.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:10pt;"&gt;&lt;/div&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s forward contracts are at level 2 in the fair value hierarchy.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Income (Loss) per Share&#160;&lt;/b&gt;- Income (loss) per share is computed using the weighted-average number of common shares outstanding during the&#160;year. Diluted income (loss) per share is computed by considering the impact of the potential issuance of common shares, using the treasury stock method, on the weighted average number of shares outstanding. For those securities that are not convertible into a class of common stock, the &#x201c;two class&#x201d; method of computing income (loss) per share is used.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Pension&#160;- &lt;/b&gt;The Company records annual pension costs based on calculations, which include various actuarial assumptions including discount rates, compensation increases and other assumptions involving demographic factors. The Company reviews its actuarial assumptions on an annual basis and makes modifications to the assumptions based on current rates and trends. The Company believes that the assumptions used in recording its pension obligations are reasonable based on its experience, market conditions and inputs from its actuaries.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Deferred Revenue&#160;&lt;/b&gt;- Deferred revenue represents payments received from customers in advance of providing services and amounts deferred if conditions for revenue recognition have not been met. We expect to recognize substantially all of these performance obligations over the next 12 months. The balance of deferred revenues in the consolidated balance sheets amounted to $8.0 million and $3.5 million as of December 31, 2024 and 2023, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The table below provides information about contract liabilities (deferred revenue) and the significant changes in the balance for the years ended December 31, 2024 and 2023, respectively (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;    &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;    &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at the beginning of year&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,523&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,366&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net deferred revenue in the period&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 27,577&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,619&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Revenue recognized&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (22,896)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (22,586)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Currency translations and other adjustments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (194)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 124&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at the end of year&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,010&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,523&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Recently Adopted Accounting Pronouncements&#160;- &lt;/b&gt;On November 27, 2023, the FASB issued Accounting Standards Update (ASU) No. 2023-07, &#x201c;Improvements to Reportable Segment Disclosures,&#x201d;. The ASU&#x2019;s effective date is for fiscal years beginning after December 15, 2023. The adoption of the ASU 2023-07 will enhance expense disclosures in segment reporting and other qualitative disclosures and allows for disclosing multiple measures of segment profit or loss. The Company has adopted this standard and complied with the required disclosures. See Note 14, Segment reporting and concentrations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Recently Issued Accounting Pronouncements Not Yet Adopted - &lt;/b&gt;On December 14, 2023, the FASB issued ASU No. 2023-09, &#x201c;Income Taxes (Topic 740): Improvements to Income Tax Disclosures&#x201d;. The ASU&#x2019;s effective date is for fiscal years beginning after December 15, 2024 with early adoption permitted. The adoption of the ASU 2023-09 will enhance quantitative and qualitative disclosures related to rate reconciliation of significant components and income tax paid. We are currently evaluating the impact of the ASU on our disclosures within the consolidated financial statements.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;In November 2024, the FASB issued ASU 2024-03, &#x201c;Income Statement - Reporting Comprehensive Income - Expense Disaggregation Disclosures (Subtopic 220-40): Disaggregation of Income Statement Expenses&#x201d;. ASU No. 2024-03 does not change or remove existing expense disclosure requirements but requires disaggregated disclosures about certain expense categories and captions, including but not limited to, purchases of inventory, employee compensation, depreciation, amortization and selling expenses. ASU No. 2024-03 will become effective for us in fiscal 2027 and in the first quarter of fiscal 2028 for interim reporting. Early adoption is permitted. We are currently evaluating the impact of the ASU on our disclosures within the consolidated financial statements.&lt;/p&gt;</us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock>
    <us-gaap:BusinessCombinationsPolicy
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_5XNKe_aBjUeJ-5c3JbwICA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Description of Business&lt;/b&gt; - Innodata Inc. (Nasdaq: INOD) (including its subsidiaries, the &#x201c;Company&#x201d;, &#x201c;Innodata&#x201d;, &#x201c;we&#x201d;, &#x201c;us&#x201d; or &#x201c;our&#x201d;) is a leading data engineering company. The Company&#x2019;s mission is to help the world&#x2019;s most prestigious companies deliver the promise of ethical, high-performing artificial intelligence (&#x201c;AI&#x201d;), which the Company believes will contribute to a safer and more prosperous world.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company was founded on a simple idea: engineer the highest quality data so organizations across broad industry segments could make smarter decisions. Today, the Company believes it is delivering the highest quality data for some of the world&#x2019;s most innovative technology companies to use to train the AI models of the future.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;AI holds the promise that computers can perceive and understand the world, enabling products and services that would have been previously unimaginable and impossible with traditional coding. AI learns from data, and the highest-performing AI will have learned from the highest-quality data. The Company believes that it can contribute meaningfully by harnessing its capabilities, honed over 35+ years, in collecting and annotating data at scale with consistency and high accuracy.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company is also helping companies deploy and integrate AI into their operations and products and providing innovative AI-enabled industry platforms, helping ensure that its customers&#x2019; businesses are prepared for a world in which machines augment human activity in ways previously unimaginable. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company developed its capabilities and honed its approaches progressively over the last 35+ years creating high-quality data for many of the world&#x2019;s most demanding information companies. Approximately nine years ago, the Company formed Innodata Labs, a research and development center, to research, develop and apply machine learning and emerging AI to its large-scale, human-intensive data operations. In 2019, the Company began packaging the capabilities that emerged from its R&amp;amp;D efforts in order to align with several fast-growing new markets and help companies use AI/ML to drive performance benefits and business insights.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s historical core competency in high-quality data, combined with these R&amp;amp;D efforts in applied AI, created the foundation for the evolution of the Company&#x2019;s offerings, which include AI Data Preparation, AI Model Deployment and Integration, and AI-Enabled Industry Platforms.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;AI Data Preparation&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;For several of the world&#x2019;s large technology companies, the Company supports their efforts at building generative AI foundation models. For these companies, the Company provides or is poised to provide a range of scaled data solutions and services. The Company&#x2019;s scaled data solutions include providing instruction data sets for fine-tuning LLMs to understand prompts, to accept instruction, to converse, to apparently reason, and to perform the myriad of incredible feats that many of us have now experienced. The Company also provides reinforcement learning and reward modeling, services which are critical to provide the guardrails against toxic, bias and harmful responses, and model evaluation services. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;For social media companies, financial services companies, and many others, the Company collects or creates training data, annotates training data, and trains AI algorithms for working with images, text, video, audio, code and sensor data. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company utilizes a variety of leading third-party tools, proprietary tools and customer tools. For text annotation, the Company uses its proprietary data annotation platform that incorporates AI to reduce cost while improving consistency and quality of output. The Company&#x2019;s proprietary data annotation platform features auto-tagging capabilities that apply to both classical and generative AI tasks. The platform encapsulates many of the innovations the Company has conceived of in the course of its 35-year history of creating high-quality data.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;In addition, because collecting real-world data is often impracticable (due to data privacy regulations or rarity of cohorts and outliers), the Company creates high-quality synthetic data that maintains all of the statistical properties of real-world data, using a combination of domain specialists and machine technologies that leverage large language models (LLMs).&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;AI Model Deployment and Integration&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company helps businesses leverage the latest AI technologies to achieve their goals. The Company develops custom AI models (where it selects the appropriate algorithms, tunes hyperparameters, trains and validates the models, and updates the models as required). The Company also helps businesses fine-tune their own custom versions of the Company&#x2019;s proprietary models and third-party foundation models to address domain-specific and customer-specific use cases.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;For the Company&#x2019;s customers that provide products and solutions that require intensive text data processing and analytics, in addition to deploying and integrating AI models, the Company often provides a range of data engineering support services including data transformation, data curation, data hygiene, data consolidation, data extraction, data compliance, and master data management.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s customers span a diverse range of industries and a wide range of AI use cases, benefiting from the short time-to-value and high economic returns of the Company&#x2019;s AI solutions and platforms.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;AI-Enabled Industry Platforms&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s AI-enabled industry platforms address specific, niche market requirements the Company believes it can innovate with AI/ML technologies. The Company deploys these industry platforms as software-as-a-service (SaaS) and as managed services. These platforms benefit from the Company&#x2019;s technology infrastructure, its industry-specific knowledge, its strong customer relationships and experience merging technology with the business processes of its customers. To date, the Company has built an industry platform for medical records data extraction and transformation (which the Company brands as &#x201c;Synodex&lt;sup style="font-size:8.25pt;line-height:100%;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;top:0pt;vertical-align:top;"&gt;&#xae;&lt;/sup&gt;&#x201d;) and an industry platform for public relations (which the Company brands as &#x201c;Agility PR Solutions&#x201d;). The Company is in development with an additional AI-enabled industry platform to serve financial services institutions.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s Synodex industry platform transforms medical records into useable digital data organized in accordance with its proprietary data models or customer data models. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s Agility industry platform provides marketing communications and public relations professionals with the ability to target and distribute content to journalists and social media influencers world-wide and to monitor and analyze global news (print, web, radio and TV) and social media.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s operations are presently classified and reported in three reporting segments: Digital Data Solutions (DDS), Synodex and Agility.&lt;/p&gt;</us-gaap:BusinessCombinationsPolicy>
    <us-gaap:NumberOfReportableSegments
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="INF"
      id="Narr_7cCSytZ9vUOwxcOiUsoApQ"
      unitRef="Unit_Standard_segment_vYtCzY4wxUGW3JZsiWLCYw">3</us-gaap:NumberOfReportableSegments>
    <us-gaap:ConsolidationPolicyTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_SSBNbrt-aUO9DcxIFhQRTA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Principles of Consolidation &lt;/b&gt;-&lt;b style="font-weight:bold;"&gt; &lt;/b&gt;The consolidated financial statements include the accounts of Innodata Inc. and its wholly owned subsidiaries, and Innodata docGenix, LLC, a limited liability company that was majority-owned by the Company during the year ended December 31, 2024. The minority interests of Innodata docGenix, LLC were redeemed by the Company on December 31, 2024.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The non-controlling interests in the docGenix limited liability company at December 31, 2023 had call and put options that can be settled in cash or stock. Accordingly, this is presented in temporary equity in accordance with Financial Accounting Standards Board (FASB) non-controlling interest guidance. All intercompany transactions and balances have been eliminated in consolidation.&lt;/p&gt;</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_Gu1hOTjrWUqh81YvDygJhA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Use of Estimates&#160;&lt;/b&gt;- In preparing consolidated financial statements in conformity with U.S. GAAP, management is required to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities as of the date of the consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. Management believes that the estimates and assumptions used in the preparation of the consolidated financial statements are reasonable. Actual results could differ from those estimates. Significant estimates include those related to the allowance for credit losses and billing adjustments, useful life of long-lived assets, useful life of intangible assets, impairment of goodwill and intangible assets, valuation of deferred tax assets, valuation of stock-based compensation, pension benefit plan assumptions, litigation accruals and estimated accruals for various tax exposures.&lt;/p&gt;</us-gaap:UseOfEstimates>
    <us-gaap:RevenueRecognitionPolicyTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_SgNU3ppjAkCjaoeFlShtAg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue Recognition&#160;&lt;/b&gt;- The Company&#x2019;s revenue is recognized when services are rendered or goods are delivered to a customer, in an amount that reflects the consideration that the Company expects to receive in exchange for those services or goods as per the agreement with the customer. In cases where there are agreements with multiple performance obligations, the Company identifies each performance obligation and evaluates whether the performance obligations are distinct within the context of the agreement at the agreement&#x2019;s inception. Performance obligations that are not distinct at agreement inception are combined. For agreements with distinct performance obligations, the Company allocates the transaction price to each distinct performance obligation proportionately based on the estimated standalone selling price for each performance obligation, if any, and then evaluates how the services are performed for the customer to determine the timing of revenue recognition.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;For the Digital Data Solutions (DDS) segment, revenue is recognized primarily based on the quantity delivered or resources utilized in the period in which services are performed and performance conditions are satisfied as per the agreement. Revenue from agreements billed on a time-and-materials basis is recognized as services are performed. Revenue from fixed-fee agreements, which is not significant to overall revenues, is recognized based on the proportional performance method of accounting, as services are performed, or milestones are achieved.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;For the Synodex segment, revenue is recognized primarily based on the quantity delivered in the period in which services are performed and performance conditions are satisfied as per the agreement. A portion of the Synodex segment revenue is derived from licensing the Company&#x2019;s functional software and providing access to the Company&#x2019;s hosted software platform. Revenue from such services is recognized monthly when all parties to the agreement have agreed to the agreement; each party&#x2019;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; access to the service is provided to the end user; and collection is probable.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Agility segment derives its revenue primarily from subscription arrangements and provision of enriched media analysis services. It also derives revenue as a reseller of corporate communication solutions. Revenue from subscriptions is recognized monthly when access to the service is provided to the end user; all parties to the agreement have agreed to the agreement; each party&#x2019;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; and collection is probable. Revenue from enriched media analysis services is recognized when the services are performed, and performance conditions are satisfied. Revenue from the reseller agreements is recognized at the gross amount received for the goods in accordance with the Company functioning as a principal due to the Company meeting the following criteria: the Company acts as the primary obligor in the sales transaction; assumes the credit risk; sets the price; can select suppliers; and is involved in the execution of the services, including after sales service.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Revenue associated with the services provided in one period and billed in a subsequent period is commonly referred to as unbilled revenues and is included under Accounts receivable.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company considers U.S. GAAP criteria for determining whether to report gross revenue as a principal versus net revenue as an agent. The Company evaluates whether it is in control of the services before the same are transferred to the customer to assess whether it is principal or agent in the arrangement.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;Contract acquisition costs, which are included in prepaid expenses and other current assets, are amortized over the term of a subscription agreement or contract that normally has a duration of 12 months or less. The Company reviews these prepaid acquisition costs on a periodic basis to determine the need to adjust the carrying values for early terminated contracts. Included in prepaid expenses and other current assets on the accompanying consolidated balance sheets are contract acquisition costs amounting to $1.1 million and $0.8 million for the years ended December 31, 2024 and 2023 , respectively. These acquisition costs relate to our Agility segment and are amortized using the straight-line method over the term of the subscription agreement.&lt;/p&gt;</us-gaap:RevenueRecognitionPolicyTextBlock>
    <us-gaap:CapitalizedContractCostAmortizationPeriod
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      id="Narr_ViMfigMdLEKUq1IV4fEK3w">P12M</us-gaap:CapitalizedContractCostAmortizationPeriod>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-5"
      id="Narr_W0Fnf2n3Qkyj8LK-wr2dUQ"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1100000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-5"
      id="Narr_z4_dGtQeG0e3xsh-pLsWXA"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">800000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_RxT57PPxEE-j_KRuaop59w">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign Currency Translation&#160;&lt;/b&gt;- The functional currency of the Company&#x2019;s subsidiaries in the Philippines, India, Sri Lanka, Israel, Hong Kong, the U.K. and Canada (other than the Agility subsidiaries) is the U.S. dollar. Transactions denominated in Philippine pesos, Indian and Sri Lankan rupees, Israeli shekels, U.K. pound sterling and Canadian dollars are translated to U.S. dollars at rates which approximate those in effect on the transaction dates. Monetary assets and all liabilities denominated in foreign currencies on December 31, 2024 and December 31, 2023 are translated at the exchange rate in effect as of those dates. Non-monetary assets and stockholders&#x2019; equity are translated at the appropriate historical rates. Included in direct operating costs were foreign exchange (gains) losses resulting from such translations of approximately ($0.2) million and $0.4 million for the&#160;years ended December 31, 2024 and 2023, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The functional currency for the Company&#x2019;s subsidiary in Germany is the Euro. The functional currencies for the Company&#x2019;s Agility subsidiaries in the U.K. and Canada are the Pound Sterling and the Canadian dollar, respectively. The financial statements of these subsidiaries are prepared in their respective currencies. Financial information is translated from the applicable functional currency to the U.S. dollar (the reporting currency) for inclusion in the Company&#x2019;s consolidated financial statements. Income, expenses, and cash flows are translated at weighted-average exchange rates prevailing during the fiscal period, and assets and liabilities are translated at fiscal period-end exchange rates. Resulting translation adjustments are included as a component of accumulated other comprehensive income loss in stockholders&#x2019; equity. Foreign exchange transaction gains or losses are included in direct operating costs in the accompanying consolidated statements of operations and comprehensive income.&lt;/p&gt;</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-5"
      id="Narr_o-Qd68LLW0qPyMHhLCC43Q"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">200000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-5"
      id="Narr_CrJimvqE50OcpI-svvJrxQ"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-400000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:DerivativesPolicyTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_p7Pl-ER_5kWFB6kyc8223g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:12.0pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Derivative Instruments&#160;- &lt;/b&gt;The Company accounts for derivative transactions in accordance with the FASB&#x2019;s Accounting Standards Codification (&#x201c;ASC&#x201d;) Topic 825, &#x201c;Financial Instruments&#x201d;. For derivative instruments that are designated and qualify as cash flow hedges, the entire change in fair value of the hedging instrument is recorded in Other comprehensive income (loss). When the amounts recorded in Other comprehensive income (loss) are reclassified to earnings, they are included as part of Direct operating costs. For derivative instruments that are not designated as hedges, any change in fair value is recorded directly in earnings as part of Direct operating costs. The total notional value of designated outstanding foreign currency forward contracts was $22.5 million and $10.5 million as of December 31, 2024 and 2023, respectively.&lt;/p&gt;</us-gaap:DerivativesPolicyTextBlock>
    <us-gaap:ForeignCurrencyContractAssetFairValueDisclosure
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-5"
      id="Narr_XiHm8ruiL0W6NagF0IugcA"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">22500000</us-gaap:ForeignCurrencyContractAssetFairValueDisclosure>
    <us-gaap:ForeignCurrencyContractAssetFairValueDisclosure
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-5"
      id="Narr_7-NZwpegjkiqeoumGz1jtQ"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">10500000</us-gaap:ForeignCurrencyContractAssetFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_M0__ksxan0u0ISWvBGjXSQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Cash Equivalents&#160;- &lt;/b&gt;For financial statement purposes, the Company considers all highly liquid instruments purchased with an original maturity of three&#160;months or less to be cash equivalents.&lt;/p&gt;</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:InvestmentPolicyTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_aXVCYqn9XUWpbrxd6xmSTw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Short term Investments-other&#160;- &lt;/b&gt;For financial statement purposes, the Company considers investments made in time deposits and treasury bills having an original maturity of more than three months but less than one year from the balance sheet date under short term investments.&lt;/p&gt;</us-gaap:InvestmentPolicyTextBlock>
    <us-gaap:ConcentrationRiskCreditRisk
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_yngcOVuy5EuX-zxzEIJUng">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Concentration of Credit Risk&#160;-&lt;/b&gt; The Company maintains its cash with highly rated financial institutions, located in the United States and in foreign locations where the Company has its operations. At December 31, 2024, the Company had cash and cash equivalents of $46.9 million, of which $17.9 million was held by its foreign subsidiaries and $29.0 million was held in the United States. To the extent that such cash exceeds the maximum insurance levels, the Company is uninsured. The Company has not experienced any losses in such accounts.&lt;/p&gt;</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-5"
      id="Narr_Jf5SsIvVy06ELFdDKb2vTQ"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">46900000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_srt_AsiaMember__bWFAUrycEafPJpnR29Jmw"
      decimals="-5"
      id="Narr_Uu_wYiWue0S69oia3LwPvg"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">17900000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_US_MYl3p3GHYUaoOcHGs6RTWA"
      decimals="-5"
      id="Narr_h6bw0yGBpUWZwsWsopQeWA"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">29000000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:TradeAndOtherAccountsReceivablePolicy
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_I_fMZTMYvUa1ix4W8S7VKA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accounts Receivable&#160;-&lt;/b&gt; Accounts receivable is generally recorded at the invoiced amounts, net of an allowance for expected losses. The Company establishes credit terms for new customers based upon management&#x2019;s review of their credit information and project terms, and performs ongoing credit evaluations of its customers, adjusting credit terms when management believes appropriate based upon payment history and an assessment of the customer&#x2019;s current creditworthiness.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;We record an allowance for credit losses for estimated losses resulting from the failure of our customers to make the required payments and provisions for billing adjustments relating to quality issues on delivered services. The allowance for credit losses is based on a review of specifically identified accounts and an overall aging analysis applied to accounts pooled based on similar risk characteristics. Judgments are made with respect to the collectability of accounts receivable within each pool based on historical experience, current payment practices, and current economic trends based on our expectations over the expected life of the receivables, generally ninety days or less. Actual credit losses could differ from those estimates.&lt;/p&gt;</us-gaap:TradeAndOtherAccountsReceivablePolicy>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_qkm8PMnErUCLFQFdOARaxw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Property and Equipment&lt;/b&gt;&#160;&lt;b style="font-weight:bold;"&gt;- &lt;/b&gt;Property and equipment are stated at cost and are depreciated on the straight-line method over the estimated useful lives of the related assets, which is generally &lt;span style="-sec-ix-hidden:Hidden_JBYbhKVqzEGL0mHdEk0dxw;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;two&lt;/span&gt;&lt;/span&gt; to &lt;span style="-sec-ix-hidden:Hidden_hPmr4tYES0iTF5TyWe2ahg;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;ten years&lt;/span&gt;&lt;/span&gt;. Leasehold improvements are amortized on a straight-line basis over the shorter of their estimated useful lives or the terms of the leases. Certain assets under capital leases are amortized over the lives of the respective leases or the estimated useful lives of the assets, whichever is shorter.&lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_w1L5W8144ECiST2Ex6ljPQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Capitalized Developed Software - &lt;/b&gt;The Company incurs development costs related to software it develops for its internal use. Qualifying costs incurred during the application development stage are capitalized. These costs primarily consist of internal labor and third-party development costs and are amortized using the straight-line method over the estimated useful life of the capitalized developed software, which generally ranges from &lt;span style="-sec-ix-hidden:Hidden_tEUnEellt0mU_k_YoZWk7Q;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;three&lt;/span&gt;&lt;/span&gt; to ten years. All other research and maintenance costs are expensed as incurred. Capitalized developed software in progress as of December 31, 2024 and 2023 were $3.6 million and $3.5 million, respectively. The cumulative completed capitalized developed software as of December 31, 2024 and 2023 was $19.8 million and $15.2 million, respectively.&lt;/p&gt;</us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="As_Of_12_31_2024_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_qwpqTP9sVEuIY51pu28Ing"
      id="Narr_pYa3nbAF5k-SB51demDfmA">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_InProcessResearchAndDevelopmentMember_NGuznsOl_kG1xy8i1jD-HQ"
      decimals="-5"
      id="Narr_QtoVo_D7EEO3AskFG-fNcA"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3600000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_InProcessResearchAndDevelopmentMember_32-BbV39KkeI3npA9bh9TA"
      decimals="-5"
      id="Narr_n1oYvQp9C0KNoxhMKVVC8Q"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3500000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_xMtDoOyH10CNZDutgw8TdA"
      decimals="-5"
      id="Narr_YbK-N7XAHUOFDjF4OrGy1A"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">19800000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_wehGlPdWwkCiksPnqZCVXA"
      decimals="-5"
      id="Narr_8Lnx1-gT1Eqkq_Wze7GBNQ"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">15200000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_zdGHSnkALk6kYzRyJfDN7w">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Long-lived Assets&#160;-&lt;/b&gt; Management assesses the recoverability of its long-lived assets, whenever events or changes in circumstances indicate that the carrying value may not be recoverable. The following factors, if present, may trigger an impairment&#160;review: (i)&#160;significant&#160;underperformance relative to expected historical or projected future operating results; (ii)&#160;significant negative industry&#160;or&#160;economic&#160;trends; (iii)&#160;significant decline in the Company&#x2019;s stock price&#160;for&#160;a&#160;sustained&#160;period;&#160;and&#160;(iv)&#160;a&#160;change&#160;in the Company&#x2019;s market capitalization relative to net book value. If the recoverability of these assets is unlikely because&#160;of&#160;the&#160;existence&#160;of one or more of the above-mentioned factors, an&#160;impairment analysis is performed, using undiscounted cash flow&#160;projections. Management makes assumptions regarding estimated future cash flows and other factors to determine the fair value of these respective assets. An impairment loss will be recognized only if the carrying value of a long-lived asset is not recoverable and exceeds its fair value and is measured as the amount by which the carrying amount of a long-lived asset exceeds its fair value.&lt;/p&gt;</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_g_tEc_LST0uluj-L3-UX7Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Goodwill and Other Intangible Assets&lt;/b&gt;&#160;&lt;b style="font-weight:bold;"&gt;- &lt;/b&gt;The Company performs a valuation of assets acquired and liabilities assumed on each acquisition accounted for as a business combination and allocates the purchase price of each acquired business to its respective net tangible and intangible assets and liabilities. Acquired intangible assets principally consist of technology, customer relationships, backlog and trademarks, having useful lives which range from &lt;span style="-sec-ix-hidden:Hidden_GyFyEVe85kuWxhzAdg74oA;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;ten&lt;/span&gt;&lt;/span&gt; to twelve years. The Company determines the appropriate useful life by performing an analysis of expected cash flows based on projected financial information of the acquired businesses. Intangible assets are amortized over their estimated useful lives using the straight-line method, which approximates the pattern in which the majority of the economic benefits are expected to be consumed. Intangible assets are amortized into direct operating costs ratably over their expected related revenue streams over their useful lives.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Goodwill represents the excess of the cost of an acquired entity over the fair value of the acquired net assets. The Company does not amortize goodwill but evaluates it for impairment at the reporting unit level annually during the third quarter of each fiscal&#160;year (as of September&#160;30 of that year) or when an event occurs, or circumstances change, that indicates the carrying value may not be recoverable.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company performed its annual goodwill assessment for the Agility segment as of September 30, 2024 for impairment. The impairment test involves estimating the fair value based on a combination of income (estimates of future discounted cash flows) and the market approach (market multiples for similar companies) using unobservable inputs (Level 3). The Company concluded that there is no impairment of goodwill for the Agility segment.&lt;/p&gt;</us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="As_Of_12_31_2024_srt_RangeAxis_srt_MaximumMember_9rlFfpQtP0C99Qd_6dkL_A"
      id="Narr_02RrdzeZfUGsdlWJ2X-chw">P12Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Narr_HcNX5umnLE2t9wRV_r1W-w"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_-BeEzVWqWk-s2UMHJsr2kw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Income Taxes&#160;&lt;/b&gt;- Estimated deferred taxes are determined based on the difference between the financial statement and tax basis of assets and liabilities, using enacted tax rates, as well as any net operating loss or tax credit carryforwards expected to reduce taxes payable in future&#160;years. A valuation allowance is provided when it is more likely than not that all or some portion of the estimated deferred tax assets will not be realized. While the Company considers future taxable income in assessing the need for the valuation allowance, in the event that the Company anticipates that it will be able to realize the estimated deferred tax assets in the future in excess of its net recorded amount, an adjustment to the provision for deferred tax assets would increase income in the period such determination was made. Similarly, in the event that the Company anticipates that it will not be able to realize the estimated deferred tax assets in the future considering future taxable income, an adjustment to the provision for deferred tax assets would decrease income in the period such determination was made. Changes in the valuation allowance from period to period are included in the Company&#x2019;s tax provision in the period of change. The Company indefinitely reinvests the foreign earnings in its foreign subsidiaries. If such earnings are repatriated in the future, or are no longer deemed to be indefinitely reinvested, the Company would have to accrue as a liability the applicable amount of foreign jurisdiction withholding taxes associated with such remittances.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;In assessing the realization of deferred tax assets, management considered whether it is more likely than not that all or some portion of the deferred tax assets of entities in the U.S., Canada, Germany and the U.K. will be realizable or not.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s assessment for the U.S. and the U.K. entities during the year ended December 31, 2024 yielded positive evidence enabling the release of the valuation allowance for the U.S. and the U.K. deferred tax assets under &#x201c;ASC Topic 740-10-30-22 &#x2013; Accounting for Income Taxes&#x201d;.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;As the expectation of future taxable income of the Canadian and German entities cannot be predicted with reasonable accuracy, the Company maintains a valuation allowance against the deferred tax assets of these entities.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company accounts for income taxes regarding uncertain tax positions, and recognizes interest and penalties related to uncertain tax positions in income tax expense in the consolidated statements of operations and comprehensive income.&lt;/p&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:LessorLeasesPolicyTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_Ky03gAWQ10OOWCJWNCkqQw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accounting for Leases&#160;&lt;/b&gt;-&lt;b style="font-weight:bold;"&gt; &lt;/b&gt;Accounting Standards for Codifications (ASC 842 &#x201c;Accounting for Leases&#x201d;) requires lessees to recognize most leases on their balance sheets as liabilities, with corresponding &#x201c;right-of-use&#x201d; assets. The Company recognizes a right-of-use asset and corresponding lease liability for all its operating leases. See Note 8, Operating Leases.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The determination of whether an arrangement is, or contains, a lease is based on the substance of the arrangement at the inception date and requires an assessment of whether the fulfillment of the arrangement is dependent on the use of a specific asset or assets, or the arrangement conveys a right to use the asset. A reassessment is made after inception of the lease only if one of the following applies:&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;a.&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;there is a change in contractual terms, other than a renewal or extension of the arrangement; &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;b.&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;a renewal option is exercised, or extension granted, unless the term of the renewal or extension was initially included in the lease term; &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;c.&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;there is a change in the determination of whether fulfillment is dependent on a specified asset; or &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;d.&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;there is a substantial change to the asset. &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:10pt;"&gt;&lt;/div&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Whenever a reassessment is made, lease accounting shall commence or cease from the date when the change in circumstances gave rise to the reassessment for scenarios (a), (c) or (d) and at the date of renewal or extension period for scenario (b).&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;Leases where the lessor retains substantially all the risks and rewards of ownership are classified as operating leases. As of December 31, 2024, all of the Company&#x2019;s leases are classified under operating leases. Operating lease payments are recognized as an operating expense on a straight-line basis over the lease term.&lt;/p&gt;</us-gaap:LessorLeasesPolicyTextBlock>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_z0Kjja32D0uy_o6lqaOIag">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accounting for Stock-Based Compensation&#160;-&lt;/b&gt; The Company measures and recognizes stock-based compensation expense for all share-based payment awards made to employees and directors based on the estimated fair value at the grant date. The stock-based compensation expense is recognized over the requisite service period. The fair value of stock option grants is determined using the Black-Scholes option-pricing model and the fair value of restricted stock units is determined using the Binomial option pricing model. For restricted stock units which are time vested, the fair value is determined based on the grant date fair value.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The stock-based compensation expense related to the Company&#x2019;s stock plans were allocated as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:61.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:35.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year&#160;Ended&#160;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Direct operating costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 281&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 294&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Selling and administrative expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,717&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,733&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total stock-based compensation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,998&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,027&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_HK0PLvbywkeqju0aIvpecw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The stock-based compensation expense related to the Company&#x2019;s stock plans were allocated as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:61.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:35.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year&#160;Ended&#160;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Direct operating costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 281&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 294&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Selling and administrative expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,717&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,733&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total stock-based compensation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,998&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,027&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock>
    <us-gaap:StockOptionPlanExpense
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_wl0O97ZFgUeQQ-lQx6_NvQ_3_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">281000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_xtTFBAtbWEKzapGjhbNk4A_3_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">294000</us-gaap:StockOptionPlanExpense>
    <us-gaap:OtherSellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_kJwvz8RSg0S-BayP08XqPg_4_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3717000</us-gaap:OtherSellingGeneralAndAdministrativeExpense>
    <us-gaap:OtherSellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_cMYvBTfY5Uy65dsD2XnOAQ_4_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3733000</us-gaap:OtherSellingGeneralAndAdministrativeExpense>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_l8W0m0scP06zdN9H5poYJQ_5_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3998000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_cZmeH5sfOEmMMJoo6LmdfA_5_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">4027000</us-gaap:ShareBasedCompensation>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_0_LSkSWEkUm7w2DObc4GTg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair Value of Financial Instruments&#160;&lt;/b&gt;- The carrying amounts of financial instruments approximated their fair value as of December 31, 2024 and 2023, because of the relatively short maturity of these instruments. See Note&#160;16, Derivatives.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Fair value measurements and disclosures define fair value as the 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.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The accounting standard establishes a fair value hierarchy that prioritizes the inputs used to measure fair value into three levels. The three levels are defined as follows:&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;"&gt;Level 1&lt;/i&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;: Unadjusted quoted price in active market for identical assets and liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;"&gt;Level 2:&lt;/i&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt; Inputs other than those included in Level 1 that are observable for the asset or liability, 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;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;"&gt;Level 3:&lt;/i&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt; Unobservable inputs reflecting management&#x2019;s own assumptions about the inputs used in pricing the asset or liability.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:10pt;"&gt;&lt;/div&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s forward contracts are at level 2 in the fair value hierarchy.&lt;/p&gt;</us-gaap:FairValueOfFinancialInstrumentsPolicy>
    <us-gaap:EarningsPerSharePolicyTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_W2aB6TNuRESVTehdBofv-Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Income (Loss) per Share&#160;&lt;/b&gt;- Income (loss) per share is computed using the weighted-average number of common shares outstanding during the&#160;year. Diluted income (loss) per share is computed by considering the impact of the potential issuance of common shares, using the treasury stock method, on the weighted average number of shares outstanding. For those securities that are not convertible into a class of common stock, the &#x201c;two class&#x201d; method of computing income (loss) per share is used.&lt;/p&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:PensionAndOtherPostretirementPlansPensionsPolicy
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_d7LdZ5GLpEKHkaKOVqA48A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Pension&#160;- &lt;/b&gt;The Company records annual pension costs based on calculations, which include various actuarial assumptions including discount rates, compensation increases and other assumptions involving demographic factors. The Company reviews its actuarial assumptions on an annual basis and makes modifications to the assumptions based on current rates and trends. The Company believes that the assumptions used in recording its pension obligations are reasonable based on its experience, market conditions and inputs from its actuaries.&lt;/p&gt;</us-gaap:PensionAndOtherPostretirementPlansPensionsPolicy>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_7VSYlE6-50asjSz2V4z17Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Deferred Revenue&#160;&lt;/b&gt;- Deferred revenue represents payments received from customers in advance of providing services and amounts deferred if conditions for revenue recognition have not been met. We expect to recognize substantially all of these performance obligations over the next 12 months. The balance of deferred revenues in the consolidated balance sheets amounted to $8.0 million and $3.5 million as of December 31, 2024 and 2023, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The table below provides information about contract liabilities (deferred revenue) and the significant changes in the balance for the years ended December 31, 2024 and 2023, respectively (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;    &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;    &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at the beginning of year&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,523&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,366&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net deferred revenue in the period&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 27,577&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,619&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Revenue recognized&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (22,896)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (22,586)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Currency translations and other adjustments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (194)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 124&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at the end of year&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,010&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,523&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <us-gaap:DeferredRevenue
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-5"
      id="Narr_ZE7_d9WMFEy1LMwLiUp-XA"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">8000000</us-gaap:DeferredRevenue>
    <us-gaap:DeferredRevenue
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-5"
      id="Narr_jT3-u_g3WE6BFRE8Pj3EBg"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3500000</us-gaap:DeferredRevenue>
    <us-gaap:DeferredRevenueByArrangementDisclosureTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_cQQabi1SnECzmUdty0Ivhw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The table below provides information about contract liabilities (deferred revenue) and the significant changes in the balance for the years ended December 31, 2024 and 2023, respectively (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;    &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;    &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at the beginning of year&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,523&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,366&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net deferred revenue in the period&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 27,577&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,619&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Revenue recognized&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (22,896)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (22,586)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Currency translations and other adjustments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (194)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 124&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at the end of year&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,010&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,523&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:DeferredRevenueByArrangementDisclosureTextBlock>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_KXSxcYCG60y-_gkrGFR88Q_3_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3523000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2022_WoVfVjcRzU6369CtXFJAWg"
      decimals="-3"
      id="Tc_Rtk8xXJm0EaTF5seXXWcLg_3_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">4366000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:DeferredRevenuePeriodIncreaseDecrease
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_9YZpXQIgNECcHvHqYOe85Q_4_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">27577000</us-gaap:DeferredRevenuePeriodIncreaseDecrease>
    <us-gaap:DeferredRevenuePeriodIncreaseDecrease
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_SPwcc17NgEGuU5Xk_GlVSQ_4_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">21619000</us-gaap:DeferredRevenuePeriodIncreaseDecrease>
    <us-gaap:DeferredRevenueRevenueRecognized1
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_-dyjzVgqKEyOqiccc5eK4A_5_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">22896000</us-gaap:DeferredRevenueRevenueRecognized1>
    <us-gaap:DeferredRevenueRevenueRecognized1
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_Otx3_fFqAUC0LhNEE25GhA_5_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">22586000</us-gaap:DeferredRevenueRevenueRecognized1>
    <us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_AMtjh6bPEkK8ERN2Q35mmA_6_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">194000</us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments>
    <us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_9gMLBpMkX0eFRP2o1AXxOA_6_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-124000</us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments>
    <us-gaap:DeferredRevenue
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_SDUCHqVTK0-W1_dC9x9KGQ_7_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">8010000</us-gaap:DeferredRevenue>
    <us-gaap:DeferredRevenue
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_P6MEbakPP06KQsGi78p0WQ_7_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3523000</us-gaap:DeferredRevenue>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_TACNu-qvPk-9SWj9XH6Wqw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Recently Adopted Accounting Pronouncements&#160;- &lt;/b&gt;On November 27, 2023, the FASB issued Accounting Standards Update (ASU) No. 2023-07, &#x201c;Improvements to Reportable Segment Disclosures,&#x201d;. The ASU&#x2019;s effective date is for fiscal years beginning after December 15, 2023. The adoption of the ASU 2023-07 will enhance expense disclosures in segment reporting and other qualitative disclosures and allows for disclosing multiple measures of segment profit or loss. The Company has adopted this standard and complied with the required disclosures. See Note 14, Segment reporting and concentrations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Recently Issued Accounting Pronouncements Not Yet Adopted - &lt;/b&gt;On December 14, 2023, the FASB issued ASU No. 2023-09, &#x201c;Income Taxes (Topic 740): Improvements to Income Tax Disclosures&#x201d;. The ASU&#x2019;s effective date is for fiscal years beginning after December 15, 2024 with early adoption permitted. The adoption of the ASU 2023-09 will enhance quantitative and qualitative disclosures related to rate reconciliation of significant components and income tax paid. We are currently evaluating the impact of the ASU on our disclosures within the consolidated financial statements.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;In November 2024, the FASB issued ASU 2024-03, &#x201c;Income Statement - Reporting Comprehensive Income - Expense Disaggregation Disclosures (Subtopic 220-40): Disaggregation of Income Statement Expenses&#x201d;. ASU No. 2024-03 does not change or remove existing expense disclosure requirements but requires disaggregated disclosures about certain expense categories and captions, including but not limited to, purchases of inventory, employee compensation, depreciation, amortization and selling expenses. ASU No. 2024-03 will become effective for us in fiscal 2027 and in the first quarter of fiscal 2028 for interim reporting. Early adoption is permitted. We are currently evaluating the impact of the ASU on our disclosures within the consolidated financial statements.&lt;/p&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:AccountsAndNontradeReceivableTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_sAIrQvPB0E2GgaFC9A-qog">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2.&lt;/b&gt; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;b style="font-weight:bold;"&gt;Accounts Receivable&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt;"&gt;Accounts receivable consists of the following (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:70.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;     &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Gross Accounts receivable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,772&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,505&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Allowance for credit losses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,759)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,217)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Accounts receivable, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,013&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,288&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Activity in the allowance for the credit losses for the years ended December 31, 2024 and 2023 were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:41.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:23.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:23.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:26.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For&#160;the&#160;Year&#160;Ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:26.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For&#160;the&#160;Year&#160;Ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:26.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;December&#160;31,&#160;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:26.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;December&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Balance at beginning of year&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,217&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,213&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Additions charged to expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:23.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 804&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:23.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 426&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Write-offs against allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (256)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (426)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Foreign currency translation adjustment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:23.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (6)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:23.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Balance at end of year&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,759&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,217&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:AccountsAndNontradeReceivableTextBlock>
    <us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_ZnP1C6FieUGcbnM_5A5dYQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt;"&gt;Accounts receivable consists of the following (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:70.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;     &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Gross Accounts receivable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,772&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,505&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Allowance for credit losses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,759)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,217)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Accounts receivable, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,013&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,288&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_Nqei0NuAikC2NrfiLbiUGA_3_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">29772000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_iRA6-8l3DEaeqG6DM_qwgg_3_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">15505000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_a3DD6kDMBkeHkRKJ0C9DPQ_4_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1759000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_Vpkz1Y6Ne02dR-Rt_hvHJg_4_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1217000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_TyuD1g7ooUuNCQyzbKcLPw_5_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">28013000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_hXP8j15fuEWMPIRYkwxKFg_5_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">14288000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb__W-NZkUnsES5adtyzkDtlQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Activity in the allowance for the credit losses for the years ended December 31, 2024 and 2023 were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:41.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:23.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:23.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:26.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For&#160;the&#160;Year&#160;Ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:26.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For&#160;the&#160;Year&#160;Ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:26.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;December&#160;31,&#160;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:26.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;December&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Balance at beginning of year&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,217&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,213&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Additions charged to expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:23.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 804&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:23.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 426&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Write-offs against allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (256)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (426)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Foreign currency translation adjustment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:23.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (6)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:23.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Balance at end of year&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,759&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:23.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,217&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_R0eGXPrz1kmbBzl_8JVYJQ_3_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1217000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2022_WoVfVjcRzU6369CtXFJAWg"
      decimals="-3"
      id="Tc_2j5ab01L0UmYdzAFxlz71Q_3_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1213000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_83E5k7KHCkmJlYuOOPyWmQ_4_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">804000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_yOSn8RxFYUaRQp4PB4j95A_4_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">426000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_1VcKRamZhEKJrMwlGV0r4w_5_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">256000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_nPAJUFR8vkKBEjOXkDt31Q_5_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">426000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_tfb2_zzGtECnqJNBgGQk4A_6_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-6000</us-gaap:FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation>
    <us-gaap:FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_x_0HTafg0ketpaP_KBtAJw_6_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">4000</us-gaap:FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_gX2scpSSg0aA20Cs-P8jnQ_7_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1759000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_cpSoRtg8akCMLrMyHHuaCQ_7_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1217000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_IAqQeHKzkUKHWFK3S35c5g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;3.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Property and equipment&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Property and equipment, which include amounts recorded under capital leases, are stated at cost less accumulated depreciation and amortization (in thousands), and consist of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,135&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,315&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Computer software&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,480&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,465&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Furniture and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 951&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,128&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,554&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,547&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Capital work-in-progress&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 547&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 434&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,667&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,889&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Less: accumulated depreciation and amortization&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (16,566)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (17,608)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,101&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,281&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The estimated useful lives of the property and equipment range between two years and ten years. Depreciation and amortization expense of property and equipment were approximately $1.5 million and $1.2 million for the years ended December 31, 2024 and 2023, respectively.&lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_IeZePmoVjkqQs4G2rp_ESQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Property and equipment, which include amounts recorded under capital leases, are stated at cost less accumulated depreciation and amortization (in thousands), and consist of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,135&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,315&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Computer software&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,480&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,465&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Furniture and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 951&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,128&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,554&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,547&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Capital work-in-progress&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 547&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 434&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,667&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,889&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Less: accumulated depreciation and amortization&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (16,566)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (17,608)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,101&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,281&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_EquipmentMember__yC4g6PBQkWSkq2Gm4hw0Q"
      decimals="-3"
      id="Tc_4i-uO3xoJkeTAuv6_DeonA_3_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">12135000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_EquipmentMember_ek-s0CxjYUKNOwei4fO_CQ"
      decimals="-3"
      id="Tc_qbovBrUGHUuwWzSGh5_Qxg_3_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">11315000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_X0Jvz2E3rU2jNLwDtrwhjA"
      decimals="-3"
      id="Tc_XV9G8mVbKUiBN620fLnbHA_4_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">4480000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_TNGe9si3LUmn8wMhmsCq9w"
      decimals="-3"
      id="Tc_yUV8Xk0tik28Zd1WlA2M3A_4_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">4465000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_-zFtSVxVNkWC9G2b396qmg"
      decimals="-3"
      id="Tc_TWTzXE5g6EqS10cQ_a0lLg_5_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">951000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_Y_Uq_DnVBUCXJ7hSUUfI0w"
      decimals="-3"
      id="Tc_GYd9FgxkCEWmtTuz3OxCsw_5_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1128000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_3DlofO4zDUKn02n09GPZFw"
      decimals="-3"
      id="Tc_9f9hmqcJ30-pEh9TdmO4IQ_6_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2554000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_CYsdJ46hgkecX1vsvFrdHw"
      decimals="-3"
      id="Tc_9QA9BkCtgU--y5gWxzV8OQ_6_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2547000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ConstructionInProgressMember_xsSlSArCaUWeIjcgDtPgzw"
      decimals="-3"
      id="Tc_lVO4eaL_nkaC9UOqZM4RJw_7_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">547000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ConstructionInProgressMember_bTpAxYLv1EaKnxxkyNnNnA"
      decimals="-3"
      id="Tc_xWjbe1ovUkieS3NbPWqBPw_7_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">434000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_u7DM1-5eFkWfx48J6hmmDw_8_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">20667000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_eXCQk5_adk6cnVxEy1oL0w_8_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">19889000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_kZblM8t43EWMFM7l-WFV0g_9_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">16566000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_uSQRhwSI20eqGqKKeZpwPA_9_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">17608000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_vulV9-HxM0WHB1_niFkP0Q_10_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">4101000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_jZQ7dBB9OkydNYW4RT-ktg_10_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2281000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="As_Of_12_31_2024_srt_RangeAxis_srt_MinimumMember_l_Zbsb2eb0u2_FRbUsP-cA"
      id="Narr_PNEMbvGRHUSVs6kIA8i__A">P2Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="As_Of_12_31_2024_srt_RangeAxis_srt_MaximumMember_9rlFfpQtP0C99Qd_6dkL_A"
      id="Narr_2Q-QDgNarEKgrKtJC_S-cg">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_eQJKcCKF2kW_PycYnUZPVw"
      decimals="-5"
      id="Narr_YgQvj73_YUy0xFg6i_bIzw"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1500000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_uOkIzEHivUOY4FC5Ao7koQ"
      decimals="-5"
      id="Narr_25tqYxbXnUaqsVYOOcmCNQ"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1200000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_SUIHmkpEb06JFsqCCtl1Vw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;4.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Goodwill and Intangible Assets&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The changes in the carrying amount of goodwill for the year ended December 31, 2024 were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:84.84%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance - January 1, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,075&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign currency translation adjustment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (77)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance - December 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,998&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;As of September 30, 2024, the Company performed its annual goodwill impairment analysis on its reporting unit with goodwill, the Agility segment. It involved a quantitative goodwill impairment test and estimated the fair value based on a combination of the income approach (estimates of future discounted cash flows) and the market approach (market multiples for similar companies) using unobservable inputs (Level 3). The income approach uses a discounted cash flow (&#x201c;DCF&#x201d;) method that utilizes the present value of cash flows to estimate the segment&#x2019;s fair value. The future cash flows of the segment were projected based on the Company&#x2019;s estimates of future revenues, operating income, and other factors such as working capital and capital expenditures. As part of the DCF analysis, the Company projected revenue and operating profits and assumed long-term revenue growth rates in the terminal year. The market approach utilizes multiples of revenues and earnings before interest expense, taxes, depreciation, and amortization (&#x201c;EBITDA&#x201d;) to estimate the segment&#x2019;s fair value. The market multiples used for the segment were based on a group of comparable companies&#x2019; market multiples applied to the Company&#x2019;s revenue. The Company concluded that there is no impairment of goodwill.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The fair value measurement of goodwill for the Agility segment was classified within Level 3 of the fair value hierarchy because the Company used the income approach, which utilizes significant inputs that are unobservable in the market and the market multiple approach using comparable entities to further validate the carrying values. The Company believes it made reasonable estimates and assumptions to calculate the fair value of the reporting unit as of the impairment test measurement date. The carrying value of goodwill was $2.0 million and $2.1 million as of December 31, 2024, and 2023, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Intangibles&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Information regarding the Company acquired intangible assets and capitalized developed software was as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;     &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign&#160;Currency&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;Translation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Acquired Intangible Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Developed technology&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,060&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,911)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 146&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Customer relationships&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,144&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,856)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (29)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 259&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Trademarks and tradenames&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 862&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (826)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 36&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Patents&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 44&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (44)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Media Contact Database&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,546&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (3,016)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 529&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total Acquired Intangible Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 9,656&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (8,653)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (33)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 970&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Capitalized Developed Software&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Capitalized Developed Software&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 19,811&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (10,507)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (463)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,841&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Capitalized  Developed Software - in Progress&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,552&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (10)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,542&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total Capitalized Developed Software&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 23,363&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (10,507)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (473)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 12,383&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 33,019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (19,160)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (506)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 13,353&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;background:#ffff00;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign&#160;Currency&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;Translation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;     &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;     &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;     &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;     &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Acquired Intangible Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Developed technology&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,999&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,640)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 366&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Customer relationships&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,096&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,645)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 461&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Trademarks and tradenames&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 852&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (774)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 80&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Patents&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 43&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (40)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Media Contact Database&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,492&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,621)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 16&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 887&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total Acquired Intangible Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 9,482&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (7,720)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 35&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 1,797&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Capitalized Developed Software&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Capitalized Developed Software&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 15,216&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (6,862)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 138&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,492&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Capitalized  Developed Software - in Progress&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,480&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (11)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,469&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total Capitalized Developed Software&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 18,696&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (6,862)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 127&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 11,961&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 28,178&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (14,582)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 162&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 13,758&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;background:#ffff00;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Amortization expense relating to acquired intangible assets was approximately $0.8 million and $0.9 million for the years ended December 31, 2024 and 2023, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:12.0pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Amortization expense relating to capitalized developed software was approximately $3.5 million and $2.7 million for the years ended December 31, 2024 and 2023, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Estimated annual amortization expense for intangible assets subsequent to December 31, 2024 is as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Year&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,636&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,158&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,675&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 742&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2029&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 110&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 32&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 13,353&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_4S6WOHBBf0OA63VUvjxKxw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The changes in the carrying amount of goodwill for the year ended December 31, 2024 were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:84.84%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance - January 1, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,075&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign currency translation adjustment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (77)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance - December 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,998&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_CrmpV5Uqm0iUNAYJaPm1zw_2_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2075000</us-gaap:Goodwill>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_lPW7m0Ml4kW6CK5bzW6h1g_3_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">77000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_YF3Xj1KOjkeKJKijgFIOkg_4_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1998000</us-gaap:Goodwill>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-5"
      id="Narr_GFE3Bz0Qhk-iMrMo2iuIIg"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-5"
      id="Narr_MM0gp3oL1U6EsHP81TChew"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2000000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-5"
      id="Narr_VA8BcqcQ80-3U4rfkSrNIQ"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2100000</us-gaap:Goodwill>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_ZwiF2L5JzU2Y-OwxtkGUsA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Information regarding the Company acquired intangible assets and capitalized developed software was as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;     &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign&#160;Currency&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;Translation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Acquired Intangible Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Developed technology&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,060&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,911)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 146&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Customer relationships&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,144&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,856)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (29)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 259&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Trademarks and tradenames&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 862&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (826)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 36&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Patents&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 44&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (44)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Media Contact Database&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,546&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (3,016)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 529&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total Acquired Intangible Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 9,656&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (8,653)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (33)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 970&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Capitalized Developed Software&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Capitalized Developed Software&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 19,811&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (10,507)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (463)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,841&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Capitalized  Developed Software - in Progress&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,552&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (10)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,542&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total Capitalized Developed Software&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 23,363&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (10,507)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (473)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 12,383&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 33,019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (19,160)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (506)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 13,353&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;background:#ffff00;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign&#160;Currency&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;Translation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;     &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;     &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;     &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;     &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Acquired Intangible Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Developed technology&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,999&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,640)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 366&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Customer relationships&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,096&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,645)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 461&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Trademarks and tradenames&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 852&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (774)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 80&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Patents&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 43&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (40)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Media Contact Database&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,492&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,621)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 16&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 887&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total Acquired Intangible Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 9,482&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (7,720)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 35&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 1,797&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Capitalized Developed Software&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Capitalized Developed Software&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 15,216&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (6,862)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 138&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,492&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Capitalized  Developed Software - in Progress&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,480&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (11)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,469&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total Capitalized Developed Software&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 18,696&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (6,862)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 127&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 11,961&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 28,178&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (14,582)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 162&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 13,758&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_PKxFcABwbkmwoSU97uIsAA"
      decimals="-3"
      id="Tc_Fg4VpHberkWjkDcaib6pMg_6_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3060000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_PKxFcABwbkmwoSU97uIsAA"
      decimals="-3"
      id="Tc_5SGqQe-GJE2CYu5bbqoYYw_6_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2911000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_PKxFcABwbkmwoSU97uIsAA"
      decimals="-3"
      id="Tc_K59aPv8TPkiIP5BWPzh3fg_6_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-3000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_PKxFcABwbkmwoSU97uIsAA"
      decimals="-3"
      id="Tc_xyxa4vMkW0yZFus1POZkQg_6_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">146000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_eswZ0NbwE06a9qMbMPgHLg"
      decimals="-3"
      id="Tc_tqCjd5qLkEWLrMGo0YQjNA_7_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2144000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_eswZ0NbwE06a9qMbMPgHLg"
      decimals="-3"
      id="Tc_aVmJ__B2L0uVjdhSTF3T_A_7_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1856000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_eswZ0NbwE06a9qMbMPgHLg"
      decimals="-3"
      id="Tc_FrvZhVAndEqPZfOqFBSclQ_7_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-29000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_eswZ0NbwE06a9qMbMPgHLg"
      decimals="-3"
      id="Tc_G-UFiq3pNkejNhniPm4hBQ_7_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">259000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_aMPqSQnl6kqE-3fgQ1ZqTw"
      decimals="-3"
      id="Tc_JzRmt9xoDE25D1O83q-eAg_8_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">862000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_aMPqSQnl6kqE-3fgQ1ZqTw"
      decimals="-3"
      id="Tc_MaP1TzbKv0qKEf58GKW3tQ_8_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">826000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_aMPqSQnl6kqE-3fgQ1ZqTw"
      decimals="-3"
      id="Tc_cXlaVhzRe0yjjUTkNEnvLA_8_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">36000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_NX28TL-gtEa9Jqam-XF_eQ"
      decimals="-3"
      id="Tc_fOitgut0TUaCCATVvd5Zwg_9_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">44000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_NX28TL-gtEa9Jqam-XF_eQ"
      decimals="-3"
      id="Tc_4wmTKw27qUexc2FpR6B5NA_9_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">44000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_OmXD6cj2NEmSBQ9mD6rfBQ"
      decimals="-3"
      id="Tc_sqaIE0LMjkOgWRhAAHyW3w_10_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3546000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_OmXD6cj2NEmSBQ9mD6rfBQ"
      decimals="-3"
      id="Tc_9UHWCy_g-0-QVuXYJ5MVdQ_10_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3016000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_OmXD6cj2NEmSBQ9mD6rfBQ"
      decimals="-3"
      id="Tc_hv5cCsx4ykGk7M2sezEo8w_10_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-1000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_OmXD6cj2NEmSBQ9mD6rfBQ"
      decimals="-3"
      id="Tc_kdvmy5x9lUW52SX0InHKMg_10_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">529000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_SWi9yEqTK0WXo99bGHtHlg"
      decimals="-3"
      id="Tc_j64XMpRTHEqtPL5G1VdVPg_11_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">9656000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_SWi9yEqTK0WXo99bGHtHlg"
      decimals="-3"
      id="Tc_Ha05xlXjl0epvYAw0vozCA_11_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">8653000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_SWi9yEqTK0WXo99bGHtHlg"
      decimals="-3"
      id="Tc_Kvw731Za8UqPzxEAnGAJ5w_11_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">33000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_SWi9yEqTK0WXo99bGHtHlg"
      decimals="-3"
      id="Tc_f3NkBg7VJUeBUmRv3XOxRA_11_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">970000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_1MdjChxLRE6mhBgeY-CjAQ"
      decimals="-3"
      id="Tc_iM3nOpAeDUyKVOLXJeKn_g_14_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">19811000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_1MdjChxLRE6mhBgeY-CjAQ"
      decimals="-3"
      id="Tc__6LFYnZx60GVsAQVN137rw_14_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">10507000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_1MdjChxLRE6mhBgeY-CjAQ"
      decimals="-3"
      id="Tc_uTJC3OAfF0a1m1vogz9Pdw_14_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-463000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_1MdjChxLRE6mhBgeY-CjAQ"
      decimals="-3"
      id="Tc_npw8OVSG_kGpRY_jm36pOg_14_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">8841000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_0-E2__Mdfke8EEhPBxIe5A"
      decimals="-3"
      id="Tc_iqNEe3qMO0SkL24iyoDzkw_15_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3552000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_0-E2__Mdfke8EEhPBxIe5A"
      decimals="-3"
      id="Tc_KkQFtMASEUSiXKZkbV-IZw_15_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-10000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_0-E2__Mdfke8EEhPBxIe5A"
      decimals="-3"
      id="Tc_NN8lvhYDhUGTDwyo1TbOWw_15_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3542000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_M6aU7ypd2kuLaMxEq0lL7w"
      decimals="-3"
      id="Tc_U662XUb4dUeSI36WtdKs0A_16_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">23363000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_M6aU7ypd2kuLaMxEq0lL7w"
      decimals="-3"
      id="Tc_t5d7zdrTekeRngpwv1WlwA_16_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">10507000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_M6aU7ypd2kuLaMxEq0lL7w"
      decimals="-3"
      id="Tc_Kbu5btF9mkSANJTnDnHZ3Q_16_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">473000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_M6aU7ypd2kuLaMxEq0lL7w"
      decimals="-3"
      id="Tc_bpW8l4QkHEyl4cuVgXLzMQ_16_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">12383000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_LqmPqisS1Ey_xSDfh7KjJQ_18_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">33019000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_vfY2RpNdhkyGBHjFPP77xw_18_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">19160000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_o0NhI6szGU2RDW97jryzRA_18_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">506000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_pbgPRLVJEUmwlZfyYerDWQ_18_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">13353000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_T2-GY1BEYEqpD-xKLKir4A"
      decimals="-3"
      id="Tc_AxtE86oor0yic5VE_Kt7qQ_6_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2999000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_T2-GY1BEYEqpD-xKLKir4A"
      decimals="-3"
      id="Tc_7GpjYNMkLUe1piCHrSNLHw_6_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2640000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_T2-GY1BEYEqpD-xKLKir4A"
      decimals="-3"
      id="Tc_rcJoTfQznE6qm9g8ccRq4g_6_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">7000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_T2-GY1BEYEqpD-xKLKir4A"
      decimals="-3"
      id="Tc_2cmCBP_FskCTqyQ1WdJkcQ_6_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">366000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_uDsmnZ1-Uk2Lu5k7gjkmQA"
      decimals="-3"
      id="Tc_mWZXknjifkGGcoQlOS3cVQ_7_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2096000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_uDsmnZ1-Uk2Lu5k7gjkmQA"
      decimals="-3"
      id="Tc_N6Mt8OQFpkewJlx8OqdDZQ_7_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1645000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_uDsmnZ1-Uk2Lu5k7gjkmQA"
      decimals="-3"
      id="Tc_aIbDFC5GXkeioowH0P-Rrg_7_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">10000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_uDsmnZ1-Uk2Lu5k7gjkmQA"
      decimals="-3"
      id="Tc_V2LzcU7kTk2RJD66eFYsdA_7_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">461000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_bGD45DXuLU6nN5Sdo0ZyPg"
      decimals="-3"
      id="Tc_orqWyDG0pk-33gjlMHt6VA_8_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">852000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_bGD45DXuLU6nN5Sdo0ZyPg"
      decimals="-3"
      id="Tc_LDPbk9QVW0id0XsWc4QMQA_8_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">774000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_bGD45DXuLU6nN5Sdo0ZyPg"
      decimals="-3"
      id="Tc_oxJO5WvpHUC_M4lcYdHj4w_8_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_bGD45DXuLU6nN5Sdo0ZyPg"
      decimals="-3"
      id="Tc_ianW0KYAwkKztRQgfh3TWA_8_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">80000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_vBp8aS24AkK0HxET52mzwg"
      decimals="-3"
      id="Tc_kRyk49WIAkqb_B2ieFuCFg_9_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">43000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_vBp8aS24AkK0HxET52mzwg"
      decimals="-3"
      id="Tc_MkorloKGakGbN3ZBa8ANzQ_9_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">40000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_vBp8aS24AkK0HxET52mzwg"
      decimals="-3"
      id="Tc_xBpPt4oPqk2_MIeEwlpRdQ_9_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_coTsSQ8a5UiJTgMVNwYvUw"
      decimals="-3"
      id="Tc_R3S81XbusEqhTcbnPK8UTg_10_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3492000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_coTsSQ8a5UiJTgMVNwYvUw"
      decimals="-3"
      id="Tc_zH3T7Nf0EkaU7-AZtvhyfg_10_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2621000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_coTsSQ8a5UiJTgMVNwYvUw"
      decimals="-3"
      id="Tc_aTwsNT4uqUCcKWV2_lxFjA_10_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">16000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_coTsSQ8a5UiJTgMVNwYvUw"
      decimals="-3"
      id="Tc_q6Tm8Ofub0GCt_oLg1lONA_10_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">887000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_Ifc6Jo0zpEi9vYzAdGr9gg"
      decimals="-3"
      id="Tc_CbzFL7obBUqwBlqS1XarAA_11_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">9482000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_Ifc6Jo0zpEi9vYzAdGr9gg"
      decimals="-3"
      id="Tc_L1lwckmS50GHBJbdx4jbDQ_11_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">7720000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_Ifc6Jo0zpEi9vYzAdGr9gg"
      decimals="-3"
      id="Tc_JNGlGVEc7E-D6TN0c0vohw_11_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">35000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_Ifc6Jo0zpEi9vYzAdGr9gg"
      decimals="-3"
      id="Tc_h8Xh2iuwUU66_arKKJ4xPw_11_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1797000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_GpUffxo200uDJmHAMVMpNg"
      decimals="-3"
      id="Tc_X85DIaF7tUSxZOpxp10Riw_14_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">15216000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_GpUffxo200uDJmHAMVMpNg"
      decimals="-3"
      id="Tc_3nKDetgCSkSmYdxRKnH1oA_14_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">6862000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_GpUffxo200uDJmHAMVMpNg"
      decimals="-3"
      id="Tc_IopXYzdeOk6Z2_gk_ltODA_14_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">138000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_GpUffxo200uDJmHAMVMpNg"
      decimals="-3"
      id="Tc_uoTuqPNVKUaZLgPZ4c_yEA_14_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">8492000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_c2Fpk42UF0K4J2tiO89gcg"
      decimals="-3"
      id="Tc_33dap5Hni0ae8ZnMAM-HgA_15_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3480000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_c2Fpk42UF0K4J2tiO89gcg"
      decimals="-3"
      id="Tc_pdY-ruFfnkeAdUMp07t5Kg_15_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">11000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_c2Fpk42UF0K4J2tiO89gcg"
      decimals="-3"
      id="Tc_N2-Ypt3ArkuPP_N9pfrygg_15_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3469000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_wEUi7eT-90-6_6jZ8v2_Rg"
      decimals="-3"
      id="Tc_tVIeekZQpUiBvvEeDFzWvQ_16_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">18696000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_wEUi7eT-90-6_6jZ8v2_Rg"
      decimals="-3"
      id="Tc_tLS5EdJUU025as8xXElWVw_16_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">6862000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_wEUi7eT-90-6_6jZ8v2_Rg"
      decimals="-3"
      id="Tc_ZfOrS8zM6kCP_EJ6HuRn5A_16_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">127000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_wEUi7eT-90-6_6jZ8v2_Rg"
      decimals="-3"
      id="Tc_2Kwp_HaX00KyBlSiPGJdJg_16_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">11961000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_y5Acm4StU0i1jkd6joLcIg_18_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">28178000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_7-ULR09iHECu69lqHjZLGA_18_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">14582000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_SJ-tOvoqcEmmkGUUsqVhJA_18_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">162000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_DdQaJBlGjU6gndKpoDFkBg_18_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">13758000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_cMNIsVNcS0WVTXprZROG1g"
      decimals="-5"
      id="Narr_Ak1HE7aHpk2JmEwhyEsAIA"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">800000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_1VSqJnBYzUqitSTWtLQtHQ"
      decimals="-5"
      id="Narr_YxuBJcXUbk-g6wNCe3RULw"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">900000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_LyApVJW6OkmI3Xh3YqHKkw"
      decimals="-5"
      id="Narr_9J5LCSwkj0mxvbzlX1kdOw"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3500000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_jlvfpQM2aEWkgyv6kOADVg"
      decimals="-5"
      id="Narr_35u1judwy0qfUCCiPZZs6Q"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2700000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_9PmSN46efk2be0GbhitpTA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Estimated annual amortization expense for intangible assets subsequent to December 31, 2024 is as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Year&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,636&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,158&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,675&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 742&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2029&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 110&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 32&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 13,353&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_9zpsISLN70WTLkoL-mnZbA_2_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">5636000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_IqlHmDQ3hUmHbr5AlqEm6w_3_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">4158000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_830j1yeULUqbVfNoty3aPA_4_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2675000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_yd4F_l9MP0Sz86S13BtzAQ_5_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">742000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_Wb2gEXLbs0eV3_3uC2X0gg_6_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">110000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <inod:FiniteLivedIntangibleAssetExpectedAmortizationThereafter
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_YPwsZ1ECnU-eSsdQgrX2LQ_7_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">32000</inod:FiniteLivedIntangibleAssetExpectedAmortizationThereafter>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_6azopXVzEUSGkbA9ZhHF9Q_8_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">13353000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_IAFVpgDYMEWYZFnQb3K75g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;5.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Income Taxes&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The significant components of the provision for income taxes for the&#160;years ended December 31, 2024 and 2023 were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Current income tax provision:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Foreign&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 525&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,181&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Federal&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 126&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 120&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;State and local&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 768&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,419&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,304&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Deferred income tax provision:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Foreign&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (294)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (286)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Federal&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (4,059)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;State and local&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,256)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (5,609)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (276)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Provision for income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (4,190)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,028&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The reconciliation of the U.S. statutory rate with the Company&#x2019;s effective tax rate for the&#160;years ended December 31, 2024 and 2023 is summarized as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Federal income tax expense at statutory rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Effect of:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Section 162 (m)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 57.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 452.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Global Intangible Low-Taxed Income (GILTI)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Tax effects of foreign operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 562.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Return to provision true up&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.8&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 264.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Foreign operations permanent differences - foreign exchange gains and losses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 76.9&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Withholding tax&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 106.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Research and development credit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (67.3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Tax effect of intercompany settlement&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (234.0)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Deemed interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (0.6)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (149.2)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Foreign rate differential&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (0.9)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (102.5)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;State income tax net of federal benefit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1.8)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Increase (decrease) in unrecognized tax benefits (ASC 740)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (3.8)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 199.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Change in valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (30.7)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 578.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:69.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Effect of stock-based compensation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (64.8)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (961.6)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (7.6)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Effective tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (17.1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 739.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Deferred tax assets and liabilities are classified as non-current. Significant components of the Company&#x2019;s deferred tax assets and liabilities as of December 31, 2024 and 2023 were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:27.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Deferred income tax assets:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Allowances not currently deductible&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 459&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 283&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Depreciation and amortization&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 58&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Equity compensation not currently deductible&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 886&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,098&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Net operating loss carryforwards&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,755&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,514&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Expenses not deductible until paid&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,274&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,972&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 87&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 585&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Total gross deferred income tax assets before valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 12,461&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 15,510&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (4,969)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (13,769)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Total Deferred income tax assets, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,492&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,741&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 18pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Deferred income tax liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Amortization of Intangibles&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (32)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (22)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Total Deferred income tax liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (32)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (22)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net deferred income tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,460&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,719&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total deferred income tax assets, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,492&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,741&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total deferred income tax liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (32)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (22)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net deferred income tax assets, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,460&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,719&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;In assessing the realization of deferred tax assets, management considers whether it is more likely than not that all or some portion of the deferred tax assets will not be realizable. The ultimate realization of the deferred tax assets is dependent upon the generation of future taxable income during the periods in which temporary differences are deductible and net operating losses are available. As of December 31, 2024, the Company continues to maintain a valuation allowance on all of the Company&#x2019;s Canadian and German subsidiaries&#x2019; deferred tax assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company maintained a valuation allowance of approximately $5.0 million and $13.8 million as of December 31, 2024 and 2023, respectively. The net change in the total valuation allowance was a decrease of $8.8 million and an increase of $0.8 million for the&#160;years ended December 31, 2024 and December 31, 2023, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The change is due to the Company&#x2019;s assessment during the third and fourth quarters of 2024, where the Company determined it was more likely than not that the Company would be able to realize the benefit of the deferred tax assets in the United States and the United Kingdom, respectively, resulting in the release of the valuation allowance. In reaching this determination, the Company considered the growing trend of profitability over the last three years in the United States and the United Kingdom, as well as its expectations regarding the generation of future taxable income.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The remaining valuation allowance as of December 31, 2024 relates to the Company&#x2019;s Canadian and German subsidiaries&#x2019; deferred tax assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Despite the access to the overseas earnings and the resulting toll charge, the Company intends to indefinitely reinvest the foreign earnings in our foreign subsidiaries on account of the foreign jurisdiction withholding tax that the Company has to incur on the actual remittances. Unremitted earnings of foreign subsidiaries amounted to approximately $53.9 million at December 31, 2024. If such earnings are repatriated in the future or are no longer deemed to be indefinitely reinvested, the Company would have to accrue the applicable amount of foreign jurisdiction withholding taxes associated with such remittances.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;United States and foreign components of income (loss) before provision for income taxes for each of the years ended December&#160;31, were as follows&#160;(in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:60.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;    &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;    &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,692&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,025&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,793&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,886)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Totals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 24,485&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 139&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;At December 31, 2024, the Company had available U.S. federal &amp;amp; state net operating loss (NOL) carryforwards of approximately $10.6 million and $6.5M, respectively. The Company had research and development credit carryforwards of approximately $0.1 million. The Federal income tax NOL carryforwards expire at various times from the year 2034 through the year 2035 and the research and development credit expires in 2042. The state income tax NOL carryforwards begin expiring at various times starting in 2025. The deferred tax benefit for these NOL carryforwards and R&amp;amp;D credit carryforwards have been recognized for financial statement purposes.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Under the CARES Act, the Internal Revenue Code was amended to allow for federal NOL carrybacks for five years to offset previous years&#x2019; taxable income or for the NOL to be carried forward indefinitely to offset 80% of taxable income for tax years 2021 and thereafter. As of the date the financial statements were issued, the state NOL carryforwards, if not utilized, will expire beginning in 2025.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;On December 31, 2024, the Company&#x2019;s Agility subsidiary in the U.K. had available NOL carryforwards of approximately $0.4 million. The deferred tax benefit for these NOL carryforwards has been recognized for financial statement purposes. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;On December 31, 2024, the Company&#x2019;s Canadian subsidiaries had available Canadian NOL carryforwards of approximately $23.2 million that will begin to expire in 2037 and research and development credits of approximately $1.3 million that have no expiry. The potential benefits from these balances have not been recognized for financial statement purposes.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;On December 31, 2024, the Company&#x2019;s German subsidiary had available NOL carryforwards of approximately $0.7 million. The potential benefits from these balances have not been recognized for financial statement purposes.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company is subject to Federal income tax, as well as income tax in various states and foreign jurisdictions. The Company has open tax years for U.S. Federal and state taxes from 2020 through 2024. Various foreign subsidiaries have open tax years from 2005 through 2024, some of which are under audit by local tax authorities. The Company believes that its accruals for uncertain tax positions as of December 31, 2024 under ASC 740, Income Taxes are adequate to cover the Company&#x2019;s income tax exposures.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The following table represents a roll forward of the Company&#x2019;s unrecognized tax benefits and associated interest for the&#160;years ended (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Unrecognized Tax &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Benefits&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at beginning of the year&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,942&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,680&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Decrease for prior year tax positions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,309)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (68)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Increase for current year tax positions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 341&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 247&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Interest accrual&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 80&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 97&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign currency remeasurement&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (55)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (14)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at end of the year&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 999&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,942&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The Company had reserves for uncertain tax positions of $1.0 million and $1.9 million as of December 31, 2024, and 2023, respectively, where the ultimate tax determination is uncertain due to complexities of tax laws. The decrease in unrecognized tax benefits resulted from reversal of accruals of $1.3 million in unrecognized tax benefits for a subsidiary because the examination period for an open tax year had prescribed. The Company expects that unrecognized tax benefits as of December 31, 2024 and December 31, 2023, if recognized, would have a material impact on the Company&#x2019;s effective tax rate.&lt;/p&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_BKxQnNVCiEOoHRVynZF5Tw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The significant components of the provision for income taxes for the&#160;years ended December 31, 2024 and 2023 were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Current income tax provision:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Foreign&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 525&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,181&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Federal&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 126&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 120&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;State and local&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 768&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,419&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,304&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Deferred income tax provision:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Foreign&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (294)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (286)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Federal&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (4,059)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;State and local&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,256)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (5,609)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (276)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Provision for income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (4,190)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,028&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_hy0PDTzq2ECRx4POkk7HOg_3_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">525000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_M61dPdC9ZEy8ARkeg2nMVg_3_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1181000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_wHI6gsR0tE-N0c61hQFOag_4_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">126000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_iNV-YB9FMk2j-ICbuCrHyg_4_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">120000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_K9XotEiQBkG4iXZfUHddMw_5_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">768000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_nVMHSzoKlkCOQkVr_EbAPg_5_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_-9v9GE4r80iBCbYmJpmyHQ_6_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1419000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_G7Jj85mIJ0m9fL6FmjUIeA_6_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1304000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_2ARqQEbIcEWfKSHRWSUz1w_8_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-294000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_f9KSmVfPJkmk6ghK3P0HTQ_8_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-286000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_4PfyjGysBE-Wjq15uyZVFw_9_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-4059000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_ehho1Dmar0-LMub2G5edcw_9_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">10000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_RcHhTZE9CEWoRITFFGucaw_10_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-1256000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_D0QMDqE_IEm4wXWO56D1vA_11_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-5609000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_6Cp0W055aUm6fK9CXwVK4Q_11_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-276000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_0wpZk-LdY0q1rw_LJUWLdg_13_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-4190000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_6Do3YoSP20ipzJEKp3_ihw_13_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1028000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_-YRvXsD1cU2G4gGfhnLQHw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The reconciliation of the U.S. statutory rate with the Company&#x2019;s effective tax rate for the&#160;years ended December 31, 2024 and 2023 is summarized as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Federal income tax expense at statutory rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Effect of:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Section 162 (m)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 57.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 452.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Global Intangible Low-Taxed Income (GILTI)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Tax effects of foreign operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 562.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Return to provision true up&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.8&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 264.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Foreign operations permanent differences - foreign exchange gains and losses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 76.9&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Withholding tax&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 106.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Research and development credit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (67.3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Tax effect of intercompany settlement&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (234.0)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Deemed interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (0.6)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (149.2)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Foreign rate differential&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (0.9)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (102.5)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;State income tax net of federal benefit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1.8)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Increase (decrease) in unrecognized tax benefits (ASC 740)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (3.8)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 199.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Change in valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (30.7)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 578.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:69.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Effect of stock-based compensation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (64.8)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (961.6)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (7.6)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Effective tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (17.1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 739.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="3"
      id="Tc_rUB8aqK3OUWofNbsnyvKew_2_2"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="3"
      id="Tc_BBsOqn529kuQXkxYBsp-yw_2_4"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <inod:EffectiveIncomeTaxRateReconciliationSection162Percentage
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="3"
      id="Tc_lxsjgVNt-E6bicK_pl1YxQ_4_2"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.576</inod:EffectiveIncomeTaxRateReconciliationSection162Percentage>
    <inod:EffectiveIncomeTaxRateReconciliationSection162Percentage
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="3"
      id="Tc_DPBMHTikG029JRBV9grFhg_4_4"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">4.52</inod:EffectiveIncomeTaxRateReconciliationSection162Percentage>
    <us-gaap:EffectiveIncomeTaxRateReconciliationGiltiPercent
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="3"
      id="Tc_ZiS2wKe_7kWPpLwKJN1AcA_5_2"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.031</us-gaap:EffectiveIncomeTaxRateReconciliationGiltiPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationGiltiPercent
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="3"
      id="Tc_uN7xU3sHp0KgiiCfEDCDfg_5_4"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0</us-gaap:EffectiveIncomeTaxRateReconciliationGiltiPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="3"
      id="Tc_li7FP8Pzy0K344eu4rMpXw_6_2"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.015</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="3"
      id="Tc_1zJlUCPxVEaIAUPDIKq7vA_6_4"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">5.626</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign>
    <inod:EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="3"
      id="Tc_DMFjfqz9k0a8W4VONvttOg_7_2"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.008</inod:EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp>
    <inod:EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="3"
      id="Tc_swK3YP5_m02QQJPHUZfFgw_7_4"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">2.644</inod:EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp>
    <inod:ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="3"
      id="Tc_oF-i-LxxX0WsrmekClIkcg_8_2"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.006</inod:ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses>
    <inod:ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="3"
      id="Tc_cjlo6QH9P0qP4o8KhuIi9g_8_4"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.769</inod:ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses>
    <inod:EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="3"
      id="Tc_unZ39yZzlEiLPBt9heUb8g_9_2"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.005</inod:EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage>
    <inod:EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="3"
      id="Tc_l8shovji9UCXZL0SaiP_Og_9_4"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">1.066</inod:EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="3"
      id="Tc_o2naLnDsMUiPSJp-JVMtwQ_10_4"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.673</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <inod:EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="3"
      id="Tc_-Epm3TjEEkuliqYizbvjgw_11_4"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">-2.34</inod:EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent>
    <inod:EffectiveIncomeTaxRateReconciliationDeemedInterestPercent
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="3"
      id="Tc_zkFpgNkgSUm0CXNbFqUNFA_12_2"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">-0.006</inod:EffectiveIncomeTaxRateReconciliationDeemedInterestPercent>
    <inod:EffectiveIncomeTaxRateReconciliationDeemedInterestPercent
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="3"
      id="Tc_RJuvx13Gv0eDmX0UF0qxRQ_12_4"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">-1.492</inod:EffectiveIncomeTaxRateReconciliationDeemedInterestPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="3"
      id="Tc_YQXCRJCAfU69LpJyEFTXpA_13_2"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">-0.009</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="3"
      id="Tc_09E3u0hor0GgikJOdjaSvQ_13_4"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">-1.025</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="3"
      id="Tc_UGF3gM1nKkOwt6xbOcDq0w_14_2"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">-0.018</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="3"
      id="Tc_zqxwaK3ht0qGh2d9QR1T8g_14_4"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.001</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <inod:EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInUnrecognizedTaxBenefits
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="3"
      id="Tc_typpsjrT0ESff4RjNrgGxw_15_2"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">-0.038</inod:EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInUnrecognizedTaxBenefits>
    <inod:EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInUnrecognizedTaxBenefits
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="3"
      id="Tc_hwJxf2rEo0-2U6Pi3ax4ZA_15_4"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">1.996</inod:EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInUnrecognizedTaxBenefits>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="3"
      id="Tc_vNlN45SeQEi52hRA5abvOw_16_2"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">-0.307</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="3"
      id="Tc_s4VtLaiioEy8CLCfASXT-Q_16_4"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">5.786</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="3"
      id="Tc_k0gIMHMOsEmyh6Dfivf4fg_17_2"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">-0.648</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="3"
      id="Tc_3EVcOJHD_0Cm3vVD-JmtWA_17_4"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">-9.616</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="3"
      id="Tc_XnaYMfIA1kuFZSdt-exJ6Q_18_2"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.004</us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="3"
      id="Tc_hNOOjk3xEUKlehgOLNZvKg_18_4"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">-0.076</us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="3"
      id="Tc_dYy3_tGb-UqIiHK9DaiAVQ_19_2"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">-0.171</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="3"
      id="Tc_jWdzGgL27EefNL_ItioPfw_19_4"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">7.396</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_8eV--ddjFUuCeWdPekfxBQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Deferred tax assets and liabilities are classified as non-current. Significant components of the Company&#x2019;s deferred tax assets and liabilities as of December 31, 2024 and 2023 were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:27.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Deferred income tax assets:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Allowances not currently deductible&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 459&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 283&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Depreciation and amortization&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 58&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Equity compensation not currently deductible&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 886&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,098&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Net operating loss carryforwards&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,755&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,514&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Expenses not deductible until paid&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,274&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,972&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 87&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 585&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Total gross deferred income tax assets before valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 12,461&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 15,510&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (4,969)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (13,769)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Total Deferred income tax assets, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,492&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,741&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 18pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Deferred income tax liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Amortization of Intangibles&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (32)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (22)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Total Deferred income tax liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (32)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (22)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net deferred income tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,460&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,719&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total deferred income tax assets, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,492&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,741&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total deferred income tax liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (32)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (22)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net deferred income tax assets, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,460&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,719&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_jgwxnXxbU0CbMLusXe34KA_4_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">459000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_rSmPhx3a7UelVZWiK8W0hA_4_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">283000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals>
    <us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_Y_SE7CA9IUuLXddpVIISiQ_5_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">58000</us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_8_EC4HUcKkOd6jhAz-TUQQ_6_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">886000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_TFae64JJvEm1CM3WwpNKcA_6_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2098000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_zeSNhk8j10WdiCRgVdvOqA_7_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">7755000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_rgMjUjQGV0i3S5GDwOjThg_7_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">10514000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <inod:DeferredTaxAssetsExpensesNotDeductibleUntilPaid
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_B2uE30gN9kOMxdMRWRFDyg_8_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3274000</inod:DeferredTaxAssetsExpensesNotDeductibleUntilPaid>
    <inod:DeferredTaxAssetsExpensesNotDeductibleUntilPaid
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_1J6IGo8NB0yqJXSnokTp4w_8_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1972000</inod:DeferredTaxAssetsExpensesNotDeductibleUntilPaid>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_Jph4u5-Sp0S4M711vYJGtw_9_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">87000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_Q9F05sxZpUaklNzT4qTk7Q_9_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">585000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_XWUoTPwxR0etrmv8S6aHcA_10_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">12461000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_ul-g5pg7DkqtaRoXH3C-7w_10_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">15510000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_eBgUl0K7v0asu_PUbqtjjw_11_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">4969000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_K1XYA0wMe0iwctbOOAyZUw_11_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">13769000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_Ob2q9MJ2cEGbIFLscPEW0g_12_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">7492000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_HZlVqUv9TEKjTKvDhLDvjA_12_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1741000</us-gaap:DeferredTaxAssetsNet>
    <inod:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsAmortizationOfIntangibleAssets
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_W0lfSJypwkeAbewXoCVmSQ_15_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">32000</inod:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsAmortizationOfIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_XIDXHwl6TEidmoNWboPY6w_16_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">22000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_plKKYRrefkSlPVEXiHAe1g_17_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">32000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_9hW98nZXKEC75cszEiGFJQ_17_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">22000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_tgUSnSZiGUy3AImR7jvhbw_19_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">7460000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_zJBV-Qv2JkyIHis7UZ159A_19_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1719000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_bunpuNUHKkyRokpizGwJLw_21_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">7492000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_b_PKVMF0skGgqO0kIETldg_21_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1741000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_g3Q9jQDnMkiux2Y83Rimeg_22_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">32000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_06grRxv330KlVsz3PLaoKw_22_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">22000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_MoVfzJSj60K7yRVMIFLRvQ_24_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">7460000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_eAYaqh3a2k-8dzqgms0vKg_24_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1719000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-5"
      id="Narr_VQ5AqlyxtU-sOCAVBDz0ng"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">5000000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-5"
      id="Narr_yV0o9xSugUSZm8HNwpD4yw"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">13800000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-5"
      id="Narr_D_aN8MYu7ESvxF5PP3Ft-Q"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-8800000</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-5"
      id="Narr_s1TN9TldYUSlZc68CMVt7g"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">800000</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:UndistributedEarningsOfForeignSubsidiaries
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-5"
      id="Narr_4WqBGmECMkycV2EngXLqwQ"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">53900000</us-gaap:UndistributedEarningsOfForeignSubsidiaries>
    <us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_pmrZGtGC8EyV41bwxidkiw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;United States and foreign components of income (loss) before provision for income taxes for each of the years ended December&#160;31, were as follows&#160;(in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:60.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;    &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;    &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,692&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,025&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,793&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,886)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Totals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 24,485&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 139&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_EsRFqgYs8Eqp26m__SROUA_2_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">21692000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_sxEJrIElF0y24QLxmftG-Q_2_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2025000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_DW_SYnYJqUiLweg6Zg8PWQ_3_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2793000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_vLL94vJZ2Uahwys-9KGxHQ_3_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-1886000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_X0qgYyrm_0WjFo1flI66qA_4_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">24485000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_NzlVG-_54kuVdbgAliVAqg_4_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">139000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:OperatingLossCarryforwards
      contextRef="As_Of_12_31_2024_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_kRwU2Sj4_UG70ixd_NZd4w"
      decimals="-5"
      id="Narr_rhD9uglSoU-JQQLLE8F8uw"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">10600000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="As_Of_12_31_2024_us-gaap_IncomeTaxAuthorityAxis_us-gaap_StateAndLocalJurisdictionMember_40mIZicf6kqjyV7LLTjtWw"
      decimals="-5"
      id="Narr_Op38Dvfrm0Cyuuax8f8J1Q"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">6500000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch
      contextRef="As_Of_12_31_2024_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_kRwU2Sj4_UG70ixd_NZd4w"
      decimals="-5"
      id="Narr_z8_jwUnji06THDBYUy_DKA"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">100000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
    <us-gaap:OperatingLossCarryforwards
      contextRef="As_Of_12_31_2024_srt_ConsolidatedEntitiesAxis_inod_AgilityMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_ForeignCountryMember_P3LYAbUG30W_adlAJ0XNWA"
      decimals="-5"
      id="Narr_f4GzMSoieEG55S9BM9IGlg"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">400000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration
      contextRef="As_Of_12_31_2024_srt_ConsolidatedEntitiesAxis_inod_CanadianSubsidiariesMember_mElcPbKVGEuFacdBlL31Xw"
      decimals="-5"
      id="Narr_XEVD4pukAkC0KMvjKjtCKQ"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">23200000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration
      contextRef="As_Of_12_31_2024_srt_ConsolidatedEntitiesAxis_inod_CanadianSubsidiariesMember_mElcPbKVGEuFacdBlL31Xw"
      decimals="-5"
      id="Narr_yy-5JputhkKdrdivpJpklw"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1300000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration>
    <us-gaap:OperatingLossCarryforwards
      contextRef="As_Of_12_31_2024_srt_ConsolidatedEntitiesAxis_inod_GermanAndUnitedKingdomSubsidiariesMember_AXVrvXDUoE6y64H48yyAqQ"
      decimals="-5"
      id="Narr_dh77Xa9ghkyNFWULkJGOUQ"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">700000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_Ofw34E-4vkSToIAAs42PGQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The following table represents a roll forward of the Company&#x2019;s unrecognized tax benefits and associated interest for the&#160;years ended (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Unrecognized Tax &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Benefits&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at beginning of the year&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,942&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,680&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Decrease for prior year tax positions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,309)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (68)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Increase for current year tax positions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 341&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 247&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Interest accrual&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 80&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 97&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign currency remeasurement&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (55)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (14)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at end of the year&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 999&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,942&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_slaMpTWOPkW7xwzFHQiQCA_5_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1942000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2022_WoVfVjcRzU6369CtXFJAWg"
      decimals="-3"
      id="Tc_IMNX063jGEKlI7Bx3lZuJw_5_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1680000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_TNLB2zbQhE-ShCkbLFh6aA_6_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1309000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_Pmfj9PvcZUKHRb3_Yy0mJw_6_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">68000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_QBjxoMp5O0G2dKm1ngGMbg_7_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">341000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_AwpF4_DSiU2cEbDP04_Jhw_7_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">247000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_u3NkChNIxkKwKpONninXhw_8_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">80000</us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense>
    <us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_L3v7QDyEJkyRXF5QanM6tg_8_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">97000</us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense>
    <inod:UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_E6dmtwrPQkuK94X8vRReyg_9_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">55000</inod:UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation>
    <inod:UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_qW5fW7PZ80axWGi4_M2-sQ_9_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">14000</inod:UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_b6bZ9Wm9k0-TKqgvy1rHrg_10_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">999000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_Wms9l1XTbk-M4sKLetnfeA_10_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1942000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-5"
      id="Narr_HNaVy8PYr0aQsrtlQ0joLw"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1000000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-5"
      id="Narr_5EAlBllPKUSfMrqi2NXszQ"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1900000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-5"
      id="Narr_y6esB0IjnkOrJygUL3YObw"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1300000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <inod:LongTermObligationsDisclosureTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_yQF1BNeV002UEj685MsmRQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;6.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Long-term obligations&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Total long-term obligations as of December 31, 2024 and 2023 consisted of the following (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Pension obligations - accrued pension liability&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,945&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,128&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Microsoft licenses &lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 442&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 911&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,387&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,039&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Less: Current portion of long-term obligations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,643&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,261&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Totals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,744&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,778&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 115.2pt;"&gt;&lt;span style="font-size:8pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt; In March 2023, the Company renewed a vendor agreement to acquire certain additional software licenses, receive technical support and future software upgrades on software licenses through February 2026. Pursuant to this agreement, the Company is contractually liable to pay approximately $0.4 million annually over the term of the agreement.&lt;/p&gt;</inod:LongTermObligationsDisclosureTextBlock>
    <inod:LongTermObligationsDisclosureTableTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_fA0W4Kw59kW8TCN5ji-jRA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Total long-term obligations as of December 31, 2024 and 2023 consisted of the following (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Pension obligations - accrued pension liability&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,945&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,128&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Microsoft licenses &lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 442&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 911&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,387&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,039&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Less: Current portion of long-term obligations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,643&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,261&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Totals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,744&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,778&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 115.2pt;"&gt;&lt;span style="font-size:8pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt; In March 2023, the Company renewed a vendor agreement to acquire certain additional software licenses, receive technical support and future software upgrades on software licenses through February 2026. Pursuant to this agreement, the Company is contractually liable to pay approximately $0.4 million annually over the term of the agreement.&lt;/p&gt;</inod:LongTermObligationsDisclosureTableTextBlock>
    <us-gaap:PostemploymentBenefitsLiabilityCurrentAndNoncurrent
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_mpYWyhlqvESABLOv7UMSDA_4_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">7945000</us-gaap:PostemploymentBenefitsLiabilityCurrentAndNoncurrent>
    <us-gaap:PostemploymentBenefitsLiabilityCurrentAndNoncurrent
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_ZZ4IldJpLE-6otn3GueaTg_4_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">7128000</us-gaap:PostemploymentBenefitsLiabilityCurrentAndNoncurrent>
    <inod:MicrosoftLicensesObligations
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_W_BZ1qhns0axQsD6qvxFrQ_5_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">442000</inod:MicrosoftLicensesObligations>
    <inod:MicrosoftLicensesObligations
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_DVAU8yvmKUeUP83nhLxVQg_5_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">911000</inod:MicrosoftLicensesObligations>
    <inod:TotalLongTermObligations
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_g_Dm0mGNbkeQIPnvbw5oFA_6_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">8387000</inod:TotalLongTermObligations>
    <inod:TotalLongTermObligations
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_eoNWZ3JppUCqHeIXQ2oTPw_6_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">8039000</inod:TotalLongTermObligations>
    <inod:CurrentPortionOfLongTermObligations
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_5F2Zga1qnUOuRLiHyEQ_7A_7_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1643000</inod:CurrentPortionOfLongTermObligations>
    <inod:CurrentPortionOfLongTermObligations
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_mXM7QuwTVUyzAlT5Aq6mbA_7_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1261000</inod:CurrentPortionOfLongTermObligations>
    <inod:NoncurrentPortionOfLongTermObligations
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_7wnMO2rs3kKEHlfNidtbhA_8_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">6744000</inod:NoncurrentPortionOfLongTermObligations>
    <inod:NoncurrentPortionOfLongTermObligations
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_ztyPReQAnkeP1M_KdVj7Ow_8_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">6778000</inod:NoncurrentPortionOfLongTermObligations>
    <inod:LicensesObligationsAmountPayableAnnually
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-5"
      id="Narr_wedpwRolZ0aFcN34Dc3KiQ"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">400000</inod:LicensesObligationsAmountPayableAnnually>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_QHEq0Cq5c0CgWudyIvQFyA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;7.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Commitments and contingencies &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Litigation&#160;- &lt;/b&gt;In 2008, a judgment was rendered in the Philippines against a Philippine subsidiary of the Company that is no longer active and purportedly also against Innodata&#160;Inc., in favor of certain former employees of the Philippine subsidiary. The potential payment amount aggregates to approximately $5.6 million, plus legal interest that accrued at 12% per annum from August 13, 2008 to June 30, 2013, and thereafter accrued and continues to accrue at 6% per annum. The potential payment amount as expressed in U.S. dollars varies with the Philippine peso to U.S. dollar exchange rate. In December&#160;2017, a group of 97 of the former employees of the Philippine subsidiary indicated that they proposed to record the judgment as to themselves in New Jersey. In January&#160;2018, in response to an action initiated by Innodata&#160;Inc., the United States District Court for the District of New Jersey (&#x201c;USDC&#x201d;) entered a preliminary injunction that enjoins these former employees from pursuing or seeking recognition or enforcement of the judgment against Innodata&#160;Inc. in the U.S. during the pendency of the action and until further order of the USDC. In June&#160;2018, the USDC entered a consent order administratively closing the action subject to return of the action to the active docket upon the written request of Innodata&#160;Inc. or the former employees, with the USDC retaining jurisdiction over the matter and the preliminary injunction remaining in full force and effect. The principal relevant cases in the Philippines are Court of Appeals Case Nos. CA - G.R. SP No. 93295 Innodata Employees Association (IDEA), Eleanor Tolentino, et al. vs. Innodata Philippines, Inc., et al., and CA - G.R. SP No. 90538 Innodata Philippines, Inc. vs. Honorable Acting Secretary Manuel G. Imson, et al. (28 June 2007), the Department of Labor and Employment National Labor Relations Commission, Republic of the Philippines (NLRC - NCR - Case No.07 - 04713 - 2002, et al., Innodata Employees Association (IDEA) and Eleanor A. Tolentino, et al. vs. Innodata Philippines, Inc., et al), and the Department of Labor and Employment Office of the Secretary of Labor and Employment, Republic of the Philippines (Case No. OS - AJ - 0015 - 2001, In Re: Labor Dispute at Innodata Philippines, Inc.). The U.S. District Court action is Civil Action No.: 2:17 - cv - 13268 - SDW - LDW Innodata Inc. v. Myrna C. Augustin&#160;- Simon; et al.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;In February 2024, David D&#x2019;Agostino filed a putative class action captioned D&#x2019;Agostino v. Innodata Inc., et al., in the United States District Court for the District of New Jersey against the Company and certain of its current and former officers (the &#x201c;Securities Class Action&#x201d;). In October 2024, the presiding judge in the Securities Class Action appointed a lead plaintiff and approved the lead plaintiff&#x2019;s choice of counsel. In January 2025, an amended Securities Class Action complaint was filed in the Securities Class Action. The complaint asserts claims under Sections 10(b) and 20(a) of the Securities Exchange Act of 1934, as amended, and Rule 10b-5 promulgated thereunder, and it alleges, among other things, that the defendants made false and misleading statements regarding the Company&#x2019;s artificial intelligence (&#x201c;AI&#x201d;) technology and services. The plaintiff seeks unspecified damages, fees, interest, and costs. The Company intends to defend itself vigorously, but the Company cannot predict the outcome of the action at this time and can give no assurance that the asserted claims will not have a material adverse effect on its financial position or results of operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Subsequently, in March 2024, the Company received a letter from the staff of the Securities and Exchange Commission, Division of Enforcement (the &#x201c;SEC&#x201d;), requesting the Company preserve certain documents and data; in August 2024 the Company received a grand jury subpoena from the U.S. Department of Justice (&#x201c;DOJ&#x201d;) requesting the Company to produce certain documents; and in September 2024 the Company received a subpoena from the SEC requesting certain information. The Company believes that the SEC and DOJ requests are related to the conduct alleged in the Securities Class Action, and is cooperating with these investigations. The Company is unable to predict when these matters will be resolved or what further action, if any, the SEC or DOJ may take in connection with it.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company is also subject to various other legal proceedings and claims that have arisen in the ordinary course of business. While the Company believes that it has adequate reserves for those losses that it believes are probable and can be reasonably estimated, the ultimate results of legal proceedings and claims cannot be predicted with certainty.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;While management currently believes that the ultimate outcome of these proceedings will not have a material adverse effect on the Company&#x2019;s consolidated financial position or overall trends in consolidated results of operations, litigation is subject to inherent uncertainties. Substantial recovery against the Company in the above-referenced Philippine action could have a material adverse impact on the Company, and unfavorable rulings or recoveries in the other proceedings could have a material adverse impact on the consolidated operating results in the period in which the ruling or recovery occurs. In addition, the Company&#x2019;s estimate of the potential impact on the Company&#x2019;s consolidated financial position or overall consolidated results of operations for the above referenced legal proceedings could change in the future.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s legal accruals related to legal proceedings and claims are based on the Company&#x2019;s determination of whether or not a loss is probable. The Company reviews outstanding proceedings and claims with external counsel to assess probability and estimates of loss. The accruals are adjusted if necessary. While the Company intends to defend these matters vigorously, adverse outcomes that it estimates could reach approximately $450,000 in the aggregate beyond recorded amounts are reasonably possible. If circumstances change, the Company may be required to record adjustments that could be material to its reported consolidated financial condition and results of operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign Currency&#160;&lt;/b&gt;- To the extent that the currencies of the Company&#x2019;s production facilities located in the Philippines, India, Sri Lanka and Israel fluctuate, the Company is subject to risks of changing costs of production after pricing is established for certain customer projects. In addition, the Company is exposed to the risk of foreign currency fluctuation on the non-U.S. dollar denominated revenues, and on the monetary assets and liabilities held by its foreign subsidiaries that are denominated in local currency.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Indemnifications&#160;&lt;/b&gt;- The Company is obligated under certain circumstances to indemnify directors, officers and certain employees against costs and liabilities incurred in actions or threatened actions brought against such individuals because such individuals acted in the capacity of director, officer or fiduciary of the Company. In addition, the Company has contracts with certain customers pursuant to which the Company has agreed to indemnify the customer for certain specified and limited claims under such contract. These indemnification obligations occur in the ordinary course of business and, in many cases, do not include a limit on potential maximum future payments. As of December 31, 2024, the Company has not recorded a liability for any obligations arising as a result of these indemnification obligations.&lt;/p&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:LitigationReserve
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-5"
      id="Narr_6BnDrqBh60mJpXuR4_Q2Zg"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">5600000</us-gaap:LitigationReserve>
    <inod:InterestRateDescriptionLitigation
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Narr_iVEm2KBLZUiFeavWameaTw">plus legal interest that accrued at 12% per annum from August 13, 2008 to June 30, 2013, and thereafter accrued and continues to accrue at 6% per annum</inod:InterestRateDescriptionLitigation>
    <us-gaap:LossContingencyAccrualAtCarryingValue
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="0"
      id="Narr_W_4LrTH6QUCgkJfmf3kYTw"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">450000</us-gaap:LossContingencyAccrualAtCarryingValue>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_ivnTi03EtUSKsLi3aGxVag">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;8.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Operating Leases&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company has various lease agreements for its offices and service delivery centers. The Company has determined that the risks and benefits related to the leased properties are retained by the lessors. Accordingly, these are accounted for as operating leases.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;These lease agreements are for terms ranging from &lt;span style="-sec-ix-hidden:Hidden_Nq0piYfJ70iBZplajOJ_Wg;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;three&lt;/span&gt;&lt;/span&gt; to eleven years and, in most cases, provide for rental escalations ranging from 1.75% to 15%. Most of these agreements are renewable at the mutual consent of the parties to the contract.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company recognizes an operating lease liability and right-of-use asset in compliance with current lease accounting standard ASC 842. The amount of right-of-use asset is equal to the present value of the remaining lease payments discounted using the incremental borrowing rate of each respective country. Modifications, if any are recalculated and corresponding adjustments are made to the carrying values of both the lease liability and right-of-use assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;A right-of-use asset is measured as the amount of the lease liability adjusted for the amount of deferred straight-line rent, prepaid rent and lease incentive allowances previously recognized.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The table below summarizes the amounts recognized in the financial statements related to operating leases for the years presented (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:43.91%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:52.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year&#160;Ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Rent expense for long-term operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,257&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,252&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Rent expense for short-term leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 178&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 305&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Total rent expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,435&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,557&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The following table presents the maturity profile of the Company&#x2019;s operating lease liabilities based on the contractual undiscounted payments with a reconciliation of these amounts to the remaining net present value of the operating lease liability reported in the consolidated balance sheet as of December 31, 2024 (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Year&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,300&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,332&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,328&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;2028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 957&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;2029&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 695&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;2030 and thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 175&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Total lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,787&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Less: Interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,132)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Net present value of lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,655&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 877&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Long-term portion&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,778&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 18pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,655&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The weighted average remaining lease terms and discount rates for all of our operating leases as of December 31, 2024 were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.9%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.9%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Weighted-average lease term remaining&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt;51 months&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Weighted-average discount rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;9.39%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="As_Of_12_31_2024_srt_RangeAxis_srt_MaximumMember_9rlFfpQtP0C99Qd_6dkL_A"
      id="Narr_7_j49Bdyb0OEh1qGonWp0g">P11Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <inod:PercentageOfRentalEscalations
      contextRef="Duration_1_1_2024_To_12_31_2024_srt_RangeAxis_srt_MinimumMember_SipQmlg36kW6u5QpLXmzLg"
      decimals="4"
      id="Narr_vdQoSfyzsUW5t6T8v-qnvw"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.0175</inod:PercentageOfRentalEscalations>
    <inod:PercentageOfRentalEscalations
      contextRef="Duration_1_1_2024_To_12_31_2024_srt_RangeAxis_srt_MaximumMember_vvxg8TJf3EWhXwTHn_N3og"
      decimals="2"
      id="Narr_ksy8toxfD0WDxjV7I_rCxg"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.15</inod:PercentageOfRentalEscalations>
    <inod:ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_hLPEvijbW02bH0gPRdjkEQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The table below summarizes the amounts recognized in the financial statements related to operating leases for the years presented (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:43.91%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:52.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year&#160;Ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Rent expense for long-term operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,257&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,252&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Rent expense for short-term leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 178&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 305&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Total rent expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,435&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,557&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</inod:ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_LongTermOperatingLeaseMember_Ue1ES-ceIU6xj-0x9WolGQ"
      decimals="-3"
      id="Tc_v5UhlDDiqkyuqvZ3a747Jw_4_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1257000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_LongTermOperatingLeaseMember_Hm5vdvcv2kajh1AKpzN1mw"
      decimals="-3"
      id="Tc_MNPz53MDPU-BpSxq1ppkRQ_4_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1252000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_ShortTermOperatingLeaseMember_PryYjEecfUy_JehyfdmhrQ"
      decimals="-3"
      id="Tc_wHWdeKx95EmLsPKSPO4d1g_5_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">178000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_ShortTermOperatingLeaseMember_iB96pRrJBkalOWW3knvCTw"
      decimals="-3"
      id="Tc_Rna-oHiIY0ym_O36a6ujXA_5_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">305000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_lx17-fy-XUi6N1albfdpPg_6_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1435000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_eCunw8ZMD0mD8eCqX9OzIA_6_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1557000</us-gaap:OperatingLeaseExpense>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_m3CCHrIzoEaoUwf2OElZtg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The following table presents the maturity profile of the Company&#x2019;s operating lease liabilities based on the contractual undiscounted payments with a reconciliation of these amounts to the remaining net present value of the operating lease liability reported in the consolidated balance sheet as of December 31, 2024 (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Year&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,300&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,332&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,328&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;2028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 957&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;2029&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 695&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;2030 and thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 175&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Total lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,787&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Less: Interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,132)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Net present value of lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,655&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 877&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Long-term portion&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,778&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 18pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,655&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_dKSuKP2a_kmhyriV-72VqQ_3_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1300000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_q6qvdKGknEW0isQwv4wjbA_4_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1332000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_yX97OfHnw0KjScsvMuaX6g_5_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1328000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_ZnF1kB4KGkism5XsEnxMnw_6_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">957000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_RsKHyf0xQkGuJG69NmUlXg_7_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">695000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <inod:LesseeOperatingLeaseLiabilityToBePaidThereafter
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_UbelKcFFlkuYEwGB1gws_Q_8_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">175000</inod:LesseeOperatingLeaseLiabilityToBePaidThereafter>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_VnE8CcKjekSRdygVOeRsRA_9_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">5787000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_z_ML9-13A06JczPeMAfGuA_10_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1132000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_j_PtpRNR80qUOlRXuu-_NA_11_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">4655000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_Vfq65sKeiUqh6E7SO7vRNw_13_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">877000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_TNwQnwK7dUijSD_iT6iH5g_14_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3778000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_LKLySzmABUGdj5WVIN1tfQ_15_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">4655000</us-gaap:OperatingLeaseLiability>
    <inod:ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_Xk6OWfCteE6kJgvqDpUtDQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The weighted average remaining lease terms and discount rates for all of our operating leases as of December 31, 2024 were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.9%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.9%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Weighted-average lease term remaining&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt;51 months&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Weighted-average discount rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;9.39%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</inod:ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      id="Tc_aUw7F6dz5U2dfmsqVxs-MA_1_2">P51M</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="4"
      id="Tc_cs2iteRg9Ea0xdSjA8-shg_2_2"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.0939</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_dkav1_haGUqbB5addzH0Zg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;9.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Pension Benefits&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;U.S. Defined Contribution Pension Plan&#160;- &lt;/b&gt;The Company has a defined contribution plan qualified under Section&#160;401(k)&#160;of the&#160;Internal&#160;Revenue&#160;Code, pursuant to which substantially all of its U.S. employees are eligible to participate after completing six&#160;months of service. Participants may elect to contribute a portion of their compensation to the plan. Under the plan, the Company has the discretion to match a portion of participants&#x2019; contributions. For the&#160;years ended December 31, 2024 and 2023, the Company did not make any matching contributions.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Most of the non-U.S. subsidiaries provide for government-mandated defined pension benefits. For certain of these subsidiaries, vested eligible employees are provided a lump sum payment upon retiring from the Company at a defined age. The lump sum amount is based on the salary and tenure as of retirement date. Other non-U.S. subsidiaries provide for a lump sum payment to vested employees on retirement, death, incapacitation or termination of employment, based upon the salary and tenure as of the date employment ceases. The liability for such defined benefit obligations is determined and provided on the basis of actuarial valuations. As of December 31, 2024, these plans were unfunded. Pension expense for our foreign subsidiaries totaled approximately $1.2 million for each of the years ended December 31, 2024 and 2023.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The following tables set out the status of the non-U.S. pension benefits and the amounts recognized in the Company&#x2019;s consolidated financial statements and the components of pension costs for the years ended December 31, 2024 and 2023 were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt;"&gt;Benefit Obligations:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Projected benefit obligation at beginning of the year&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,128&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,906&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Service cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 717&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 568&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_dTanDrqytkiI4Uv_EFTIpA;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Interest cost&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 522&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 478&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Actuarial loss (gain)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (105)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 324&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign currency exchange rates changes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (166)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 54&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Benefits paid&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (151)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (202)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Projected benefit obligation at end of the year&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,945&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,128&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The Company had an actuarial gain of $0.1 million for the year ended December 31, 2024, and an actuarial loss of $0.3 million for the year ended December 31, 2023. This was mainly due to changes in the salary rate assumption for our Asian subsidiaries. Actuarial (gains) losses are recorded as part of other comprehensive income and are not reflected as part of net periodic pension cost.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt;"&gt;Components of Net Periodic Pension Cost:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Service cost &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 717&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 568&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Interest cost &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 522&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 478&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_usZZvKP_Ukqb3RkNFi3dVA;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Actuarial loss recognized&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 147&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net periodic pension cost &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,237&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,193&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The accumulated benefit obligation, which represents benefits earned to date, was approximately $4.7 million and $3.9&#160;million for each of the years ended December 31, 2024 and 2023.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Amounts recognized in the consolidated balance sheets for the&#160;years ended December 31, 2024 and 2023 consisted of the following (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Current accrued benefit cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,229&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 880&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Non-current accrued benefit cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,716&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,248&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total amount recognized&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,945&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,128&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Current accrued benefit cost for pension benefits was included in the current portion of long-term obligations in the consolidated balance sheets. Non-current accrued benefit cost for pension benefits was included in long-term obligations, net of current portion, in the consolidated balance sheets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Actuarial assumptions for all non-U.S. plans are described below. The discount rates are used to measure the&#160;year-end benefit obligations and the earnings effects for the subsequent&#160;year. The assumptions for the&#160;years ended December 31, 2024 and 2023 were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.97%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Discount rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;6.09%-12%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;6.73%-12.8%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Rate of increase in compensation level&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;7%-10%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;7.5%-14.5%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;Estimated Future Benefit Payments:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;As of December 31, 2024, the following benefit payments, which reflect expected future service, as appropriate, were expected to be paid (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:75.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Year&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,246&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 320&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 658&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 188&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2029&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 606&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2030 to 2034&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,142&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,160&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <inod:DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Narr_LE2EhxjC102ctkQVucMGXw">P6M</inod:DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible>
    <us-gaap:PensionExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_SubsidiariesMember_aHoQNEWoh0qVt_-SnqRneg"
      decimals="-5"
      id="Narr_uXN_FDRU102ReTmuyDnOng"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1200000</us-gaap:PensionExpense>
    <us-gaap:PensionExpense
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_SubsidiariesMember_zL4yJn50YkCqXTbnLnF25Q"
      decimals="-5"
      id="Narr_w4LfpZV86UOdOGR8KVUCaw"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1200000</us-gaap:PensionExpense>
    <us-gaap:ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_iHb-aRUjC0ujrU3tsMbCwg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The following tables set out the status of the non-U.S. pension benefits and the amounts recognized in the Company&#x2019;s consolidated financial statements and the components of pension costs for the years ended December 31, 2024 and 2023 were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt;"&gt;Benefit Obligations:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Projected benefit obligation at beginning of the year&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,128&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,906&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Service cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 717&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 568&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_dTanDrqytkiI4Uv_EFTIpA;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Interest cost&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 522&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 478&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Actuarial loss (gain)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (105)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 324&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign currency exchange rates changes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (166)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 54&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Benefits paid&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (151)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (202)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Projected benefit obligation at end of the year&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,945&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,128&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock>
    <us-gaap:DefinedBenefitPlanBenefitObligation
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_MOnl2zwcZ0Gsoe6isGms9w_3_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">7128000</us-gaap:DefinedBenefitPlanBenefitObligation>
    <us-gaap:DefinedBenefitPlanBenefitObligation
      contextRef="As_Of_12_31_2022_WoVfVjcRzU6369CtXFJAWg"
      decimals="-3"
      id="Tc_yUZLUlvK00C_hyO8jwYa1w_3_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">5906000</us-gaap:DefinedBenefitPlanBenefitObligation>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_YE50srmge0qfkj4a60IThA_4_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">717000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_Hrrn7L4aBEqz4-RtDjZesw_4_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">568000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_4Fi7RFITSUeflpeKNoCBmg_5_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">522000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_CpIdZtaXBkO6z-UgvMjOhQ_5_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">478000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanActuarialGainLoss
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_L6lYKqgSlUC-1WRQ0itEdQ_6_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">105000</us-gaap:DefinedBenefitPlanActuarialGainLoss>
    <us-gaap:DefinedBenefitPlanActuarialGainLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_CJF0RgA6m0KtaRNV9IErnQ_6_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-324000</us-gaap:DefinedBenefitPlanActuarialGainLoss>
    <us-gaap:DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc__fpbjrVjqEKDyu-3anE_hg_7_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-166000</us-gaap:DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss>
    <us-gaap:DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_jCYIXTvVi0GWT3rZeKYCRQ_7_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">54000</us-gaap:DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss>
    <us-gaap:DefinedBenefitPlanBenefitObligationBenefitsPaid
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_xW3DT_vNeEGwUvqJl9CJGg_8_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">151000</us-gaap:DefinedBenefitPlanBenefitObligationBenefitsPaid>
    <us-gaap:DefinedBenefitPlanBenefitObligationBenefitsPaid
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_VSPH_COLVkSoEQYggw4pRg_8_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">202000</us-gaap:DefinedBenefitPlanBenefitObligationBenefitsPaid>
    <us-gaap:DefinedBenefitPlanBenefitObligation
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_2JBVK0kOfEyKbrrJdrKhag_9_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">7945000</us-gaap:DefinedBenefitPlanBenefitObligation>
    <us-gaap:DefinedBenefitPlanBenefitObligation
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_7UjVNZpAJ06pZwyPrfYO5A_9_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">7128000</us-gaap:DefinedBenefitPlanBenefitObligation>
    <us-gaap:DefinedBenefitPlanActuarialGainLoss
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-5"
      id="Narr_sNBypC3FCUmW_frNuO84yQ"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">100000</us-gaap:DefinedBenefitPlanActuarialGainLoss>
    <us-gaap:DefinedBenefitPlanActuarialGainLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-5"
      id="Narr_Hzq_5jXxxEKKBnCEUFjrQw"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-300000</us-gaap:DefinedBenefitPlanActuarialGainLoss>
    <us-gaap:ScheduleOfNetBenefitCostsTableTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_yHJU7CkufkWLBp82O2vgQA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Service cost &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 717&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 568&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Interest cost &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 522&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 478&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_usZZvKP_Ukqb3RkNFi3dVA;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Actuarial loss recognized&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 147&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net periodic pension cost &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,237&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,193&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfNetBenefitCostsTableTextBlock>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_Lu6gQ1rZOUmAcZkMm-gAVA_3_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">717000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_g-2UV6cTbUGPwGRlqfUC-g_3_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">568000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_Xw5jmfmV3UefjPDc5iLN2Q_4_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">522000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_anEsSoBeEUumx6dQQRKOqw_4_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">478000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_cIulAiv5pkSODbmw2iJGyw_5_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2000</us-gaap:DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit>
    <us-gaap:DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_X4RfsJDE-EWhdAg7rXtIBg_5_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-147000</us-gaap:DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_72CoMQqZ_kS0e6QTzmqsGw_6_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1237000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_hPIPjE-Ms0KaFBZhIlLgEw_6_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1193000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanAccumulatedBenefitObligation
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-5"
      id="Narr_NJC6mF7bbUuVsOOpE3Ia8A"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">4700000</us-gaap:DefinedBenefitPlanAccumulatedBenefitObligation>
    <us-gaap:DefinedBenefitPlanAccumulatedBenefitObligation
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-5"
      id="Narr_lEIL4IFX_EK1NrDR5UpJxQ"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3900000</us-gaap:DefinedBenefitPlanAccumulatedBenefitObligation>
    <us-gaap:ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Group_V-kaCW842U6R8DAGmd252Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Amounts recognized in the consolidated balance sheets for the&#160;years ended December 31, 2024 and 2023 consisted of the following (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Current accrued benefit cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,229&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 880&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Non-current accrued benefit cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,716&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,248&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total amount recognized&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,945&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,128&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock>
    <us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_hulGKXGFUEq95iPkv4mRng_3_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1229000</us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities>
    <us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_aHfNeKZM-Uu6A1zXyn5zdw_3_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">880000</us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities>
    <us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_lrcKIBQ5L0ajBGpGhh-Vhg_4_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">6716000</us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent>
    <us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_wx6oJeOhbE2irKoAHTS0UA_4_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">6248000</us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent>
    <us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_ns8uq89T806f73ovQyXWOw_5_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">7945000</us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent>
    <us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_P32JmS3uukmJTk5GXrVvSQ_5_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">7128000</us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent>
    <us-gaap:ScheduleOfAssumptionsUsedTableTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_VsKlRi_YYUC-8A8Cmq3e5A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.97%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Discount rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;6.09%-12%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;6.73%-12.8%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Rate of increase in compensation level&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;7%-10%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;7.5%-14.5%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAssumptionsUsedTableTextBlock>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
      contextRef="As_Of_12_31_2024_srt_RangeAxis_srt_MinimumMember_l_Zbsb2eb0u2_FRbUsP-cA"
      decimals="4"
      id="Narr_HwKQ97qgoEuaB2b1kE9YBg"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.0609</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
      contextRef="As_Of_12_31_2024_srt_RangeAxis_srt_MaximumMember_9rlFfpQtP0C99Qd_6dkL_A"
      decimals="2"
      id="Narr_hCBZ3kFeAkyPIBPRsSxgzg"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.12</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_4Xr8jz8S1EOVLxVXoZ6maQ"
      decimals="4"
      id="Narr_LjtjNs_ZSECIHIupXgZ-vw"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.0673</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_tsOP1MjFWEasxAWpgU6lww"
      decimals="3"
      id="Narr_mo_XawaywUeLLKDXiBPChg"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.128</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease
      contextRef="As_Of_12_31_2024_srt_RangeAxis_srt_MinimumMember_l_Zbsb2eb0u2_FRbUsP-cA"
      decimals="2"
      id="Narr_I8Y_neY12Ues0nrToPIq1A"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.07</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease
      contextRef="As_Of_12_31_2024_srt_RangeAxis_srt_MaximumMember_9rlFfpQtP0C99Qd_6dkL_A"
      decimals="2"
      id="Narr_RgEcef-r30-owYBoZFES3g"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.10</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_4Xr8jz8S1EOVLxVXoZ6maQ"
      decimals="3"
      id="Narr_3TcILMHUlkeTh9JJgDRksA"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.075</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_tsOP1MjFWEasxAWpgU6lww"
      decimals="3"
      id="Narr_m2DX3Qam3k6Ff5YUeiD59w"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.145</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease>
    <us-gaap:ScheduleOfExpectedBenefitPaymentsTableTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_vattJ617gEiF3SzN24Cteg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;As of December 31, 2024, the following benefit payments, which reflect expected future service, as appropriate, were expected to be paid (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:75.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Year&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,246&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 320&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 658&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 188&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2029&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 606&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2030 to 2034&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,142&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,160&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfExpectedBenefitPaymentsTableTextBlock>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_yUEJBFRvskykuJDaYJNPOQ_3_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1246000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_Z-K30qIdHE2_M5cY-thCGA_4_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">320000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_ZGqo4olNOka0UgKrAMx6bg_5_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">658000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_0W8jL95ovEOKBeZ3FfqDpg_6_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">188000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_HToceqsA80-l9U3lEkPrtA_7_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">606000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive>
    <inod:DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearTen
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_FnKlObD_N0aXc_mypA18FQ_8_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">5142000</inod:DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearTen>
    <inod:DefinedBenefitPlanExpectedFutureBenefitPayments
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_U2d285T2BEO2kQ16xTKOhg_9_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">8160000</inod:DefinedBenefitPlanExpectedFutureBenefitPayments>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_8EN2-pgxRkqACJYLvWodGw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;10.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Capital Stock&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Common Stock&#160;- &lt;/b&gt;The Company is authorized to issue 75,000,000 shares of common stock. Each share of common stock has one vote. Subject to preferences that may be applicable to any outstanding shares of preferred stock, the holders of common stock are entitled to receive ratably such dividends, if any, as may be declared by the Board of Directors. No common stock dividends have been declared to date.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Preferred Stock&#160;- &lt;/b&gt;The Company is authorized to issue 4,998,000 shares of preferred stock. The Board of Directors is authorized to fix the terms, rights, preferences and limitations of the preferred stock and to issue the preferred stock in series that differ as to their relative terms, rights, preferences and limitations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Common Stock Reserved&#160;- &lt;/b&gt;As of December 31, 2024, the Company had available for future issuance 902,824 shares of common stock pursuant to the Company&#x2019;s stock option plans.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Treasury Stock&#160;-&lt;/b&gt; In July 2019, the Company&#x2019;s Board of Directors authorized the repurchase of up to $2.0 million of its common stock in open market or private transactions. There is no expiration date associated with the program. There were no share repurchases in the years ended December 31, 2024 and 2023. As of December 31, 2024, the Company repurchased 1.5 million shares of its common stock under the July 2019 authorization with a value of $1.8 million.&lt;/p&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="INF"
      id="Narr_tUgq-S3WJ0yR4F2ClwvTiQ"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">75000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="INF"
      id="Narr_tZi9a-B8ZU-D4u4E6cOVvg"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">75000000</us-gaap:CommonStockSharesAuthorized>
    <inod:NumberOfVotesForEachShareOfCommonStock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="INF"
      id="Narr_JVvNedQ8lEOBSA5pve2Pew"
      unitRef="Unit_Divide_Vote_shares_BYSm1KDzP0aI6SdGunFURg">1</inod:NumberOfVotesForEachShareOfCommonStock>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="INF"
      id="Narr_78VseT2kcEy6f_A7K8eFIg"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">0</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="INF"
      id="Narr_bDiFmWImpEiNiHWtUIxREw"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">4998000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="INF"
      id="Narr_AjsOnFMo_021HaYx7ibxdw"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">4998000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="INF"
      id="Narr_yBaOkpYovESdmZcBY2tHGw"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">902824</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <srt:StockRepurchaseProgramAuthorizedAmount1
      contextRef="As_Of_7_31_2019_s93iPUAMGUCz6w2T0wWdiQ"
      decimals="-5"
      id="Narr_jFiZo6t6dk64lZSYaNG89Q"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2000000</srt:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_MffRea2qLEye13U1QoaE6A"
      decimals="INF"
      id="Narr_GsjRk8zt7US8KCrvyIMkEg"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">0</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_mmjd8mr120yR6NI5hafzmw"
      decimals="INF"
      id="Narr_p7uVJowcy0aIvmM8bZkwYg"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">0</us-gaap:StockRepurchasedDuringPeriodShares>
    <srt:StockRepurchaseProgramAuthorizedAmount1
      contextRef="As_Of_12_31_2024_us-gaap_PlanNameAxis_inod_July2019Member_T5ZP6hp28U-RspLZQ67Yvg"
      decimals="-5"
      id="Narr_qCNJWjhYrk60Hb1yBsv6lQ"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1500000</srt:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:TreasuryStockCommonValue
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-5"
      id="Narr_0ksdFxmPiUWu7K1CWCP0fg"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1800000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_q-gYr41pGE-sct_UWtiNtA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;11.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Stock Options&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Innodata Inc. 2013 Stock Plan (as amended, the &#x201c;2013 Plan&#x201d;) expired in accordance with its terms on June 3, 2023. Pursuant to the terms of the 2013 Plan, no further awards may be granted under the 2013 Plan following its expiration. As of December 31, 2024, there were 3,365,193 shares of our common stock underlying outstanding options or rights under the 2013 Plan. Outstanding awards made under the 2013 Plan prior to the 2013 Plan&#x2019;s expiration will remain in effect until such awards have been satisfied or terminated in accordance with the terms of the 2013 Plan and such awards.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;On June 9, 2023, stockholders of the Company approved amendments to the Innodata Inc. 2021 Equity Compensation Plan (as amended, the &#x201c;2021 Plan&#x201d;). The number of shares of common stock of Innodata Inc. that may be delivered, purchased or used for reference purposes (with respect to stock appreciation rights or stock units) for awards granted under the 2021 Plan is 4,000,000 (the &#x201c;Share Reserve&#x201d;). Shares subject to an option or stock appreciation right granted under the 2021 Plan count against the Share Reserve as one share for every share granted, and shares subject to any other type of award granted under the &lt;span style="-sec-ix-hidden:Hidden_upOLd_YbXkymY66duN8I7w;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;2021&lt;/span&gt;&lt;/span&gt; Plan count against the Share Reserve as two shares for every share granted for awards granted prior to April 11, 2023, and &lt;span style="-sec-ix-hidden:Hidden_-5NjuzOIGkyCsdwqEurfMw;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;one&lt;/span&gt;&lt;/span&gt; and a half shares for every share granted for awards granted on or after April 11, 2023. Any shares withheld, tendered or exchanged by a participant in the 2021 Plan as full or partial payment to Innodata of the exercise price under an option under the 2021 Plan, or in satisfaction of a participant&#x2019;s tax withholding obligations with respect to any award under the 2021 Plan, will not be added back to the Share Reserve.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The fair value of stock options is estimated on the date of grant using the Black-Scholes option pricing model. The weighted-average fair value of the options granted, and weighted-average assumptions were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.47%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:46.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For&#160;the&#160;Year&#160;Ended&#160;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Weighted average fair value of options granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 32.07&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.56&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Risk-free interest rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4.40&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4.34&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Expected term (years)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Expected volatility factor&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 87.69&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;75.35&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Expected dividends&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; None &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; None &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company estimates the risk-free interest rate using the U.S. Treasury yield curve for periods equal to the expected term of the options in effect at the time of grant. The expected term of options granted is based on a combination of vesting schedules, term of the options and historical experience. Expected volatility is based on the historical volatility of the Company&#x2019;s common stock. The Company uses an expected dividend yield of zero since it has never declared or paid any dividends on its capital stock.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Stock Options&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;2013 Plan&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;A summary of option activity under the 2013 Plan and changes during each of the years ended December 31, 2024 and 2023 are presented below. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:normal;width:15.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&#160;-Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Remaining&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:normal;width:15.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Exercise&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contractual&#160;Term&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:normal;width:11.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Aggregate&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:normal;width:15.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:14.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(years)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:normal;width:11.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intrinsic&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Outstanding at January 1, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,339,162&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:13.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.22&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.38&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,640,009&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,169,968)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:13.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.54&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (4,001)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6.96&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Outstanding at December 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,165,193&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:13.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.67&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.32&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 113,458,326&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Exercisable at December 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,673,966&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:13.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.54&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 5.51&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 61,901,891&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Vested and Expected to vest at December 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,165,193&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:13.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.67&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.32&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 113,458,326&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&#160;&#x2013;&#160;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Remaining&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Exercise&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contractual&#160;Term&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Aggregate&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(years)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intrinsic&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Outstanding at January 1, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,690,490&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.09&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 7.19&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,989,709&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Granted*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 25,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.31&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,287,462)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.37&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (88,866)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6.27&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Outstanding at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,339,162&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.22&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.38&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,640,009&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Exercisable at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,475,780&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.18&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.40&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 22,237,334&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Vested and Expected to vest at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,339,162&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.22&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.38&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,640,009&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;* Includes &lt;/i&gt;&lt;i style="font-style:italic;"&gt;25,000&lt;/i&gt;&lt;i style="font-style:italic;"&gt; stock options granted to a non-employee member of the Company&#x2019;s advisory board.&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;2021 Plan&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;A summary of option activity under the 2021 Plan and changes during each of the years ended December 31, 2024 and 2023 are presented below. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&#160;- Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Remaining&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Exercise&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contractual Term&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Aggregate&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(years)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intrinsic Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Outstanding at January 1, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 923,571&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.76&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,786,252&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 268,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 42.57&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (336,264)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.44&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (13,536)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.84&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Outstanding at December 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 842,271&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.86&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.46&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,847,471&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Exercisable at December 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 314,244&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.32&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 7.73&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,374,251&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Vested and Expected to vest at December 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 842,271&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.86&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.46&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,847,471&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&#160;-&#160;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Remaining&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Exercise&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contractual Term&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Aggregate&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(years)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intrinsic Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Outstanding at January 1, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,027,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.46&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 9.75&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13.05&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (63,595)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.59&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (43,334)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Outstanding at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 923,571&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.76&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,786,252&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Exercisable at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 386,209&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.34&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.74&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,023,601&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Vested and Expected to vest at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 923,571&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.76&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,786,252&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;A total of 268,500 options were granted during the year ended December 31, 2024.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;During the year ended December 31, 2024, a total of 2,506,232 options were exercised at an average exercise price of $2.66.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Restricted Stock Awards&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;There were no outstanding awards of restricted stock under the 2013 Plan or the 2021 Plan (collectively, the &#x201c;Equity Plans&#x201d;) during each of the years ended December 31, 2024 and 2023.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Restricted Stock Units&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;Restricted stock unit activity under the Equity Plans during each of the years ended December 31, 2024 and 2023 are presented below:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Restricted&#160;Stock&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Grant&#160;Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Units&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Unvested at January 1, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 749,756&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.77&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 549,079&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40.61&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Vested&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (48,761)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8.42&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (995)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8.29&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Unvested at December 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,249,079&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20.98&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Restricted Stock&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Grant&#160;Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Units&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Unvested at January 1, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 700,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.59&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49,756&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8.29&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Vested&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Unvested at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 749,756&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.77&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;There were a total of 34,246 &lt;span style="-sec-ix-hidden:Hidden_TKcAPII4akSwiA0-ioPAUg;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;restricted&lt;/span&gt;&lt;/span&gt; stock units granted to non-employees and non-employee directors during the year ended December 31, 2024.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;As of December 31, 2024, there were 200,000 and 1,049,079 outstanding restricted stock unit awards under the 2013 Plan and 2021 Plan, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The stock-based compensation expense is recognized on a straight-line basis over a period of 36 months. The fair value of restricted stock units is based on the closing price of the stock at the time of the grant.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The compensation cost related to non-vested stock options not yet recognized as of December 31, 2024 totaled approximately $9.1 million. The weighted-average period over which these costs will be recognized is 34 months.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The compensation cost related to non-vested restricted stock units not yet recognized as of December 31, 2024 totaled approximately $21.9 million. The weighted-average period over which these costs will be recognized is 16 months.&lt;/p&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <inod:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights
      contextRef="As_Of_12_31_2024_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_fwcY7lj510OcAQSgdp1nHA"
      decimals="INF"
      id="Narr_IEm6Dr1htUWWBDlriDYI2g"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">3365193</inod:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="As_Of_6_9_2023_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_HHxLeIWcnEOlVPLGwBoJww"
      decimals="INF"
      id="Narr_6OP5MyA0RkioaPiRK96lIA"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">4000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <inod:ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio
      contextRef="As_Of_6_9_2023_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_HHxLeIWcnEOlVPLGwBoJww"
      decimals="INF"
      id="Narr_XaS0tUVSQkyFqMjjtogK2g"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">1</inod:ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio>
    <inod:ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio
      contextRef="As_Of_6_9_2023_us-gaap_PlanNameAxis_inod_AwardsGrantedPriorToApril112022Member_knE5T9x-PkGSL_HNw99myg"
      decimals="INF"
      id="Narr_4EdXgRWo5UqlJc7C9ZTiUA"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">2</inod:ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_GDBlJSuViki1MzYgqN81JQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.47%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:46.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For&#160;the&#160;Year&#160;Ended&#160;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Weighted average fair value of options granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 32.07&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.56&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Risk-free interest rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4.40&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4.34&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Expected term (years)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Expected volatility factor&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 87.69&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;75.35&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Expected dividends&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; None &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; None &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_S1GDvg3IeE2XmKn1NwjnPQ"
      decimals="2"
      id="Tc_idYRrGRxsUmZBcE3yBIeQA_4_3"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">32.07</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JLyhRpUyIkyJ7Y4X6NRSHg"
      decimals="2"
      id="Tc_4LrjuzVSDUaik90EWmgEXA_4_6"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">2.56</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_S1GDvg3IeE2XmKn1NwjnPQ"
      decimals="4"
      id="Tc_YlINDGfYaUSpcQ0gbvJw9g_5_3"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.044</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JLyhRpUyIkyJ7Y4X6NRSHg"
      decimals="4"
      id="Tc_5cY99o93hEKEszhRNrABbA_5_6"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.0434</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_S1GDvg3IeE2XmKn1NwjnPQ"
      id="Tc_eg1Ot36gVEeL0yBTlKxyJA_6_3">P6Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JLyhRpUyIkyJ7Y4X6NRSHg"
      id="Tc_NWG9WGjueEei30cnF0FR6w_6_6">P6Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_S1GDvg3IeE2XmKn1NwjnPQ"
      decimals="4"
      id="Tc_Q5QZWC1myUKL1-aZqVSI2Q_7_3"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.8769</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JLyhRpUyIkyJ7Y4X6NRSHg"
      decimals="4"
      id="Tc_mmvfCQgWSUSYe9kYbf7_cA_7_6"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.7535</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_S1GDvg3IeE2XmKn1NwjnPQ"
      decimals="2"
      id="Narr_xP-9guxj0Eiz-VhTDznjbA"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_JLyhRpUyIkyJ7Y4X6NRSHg"
      decimals="2"
      id="Narr_0mAuF5wSh0eIOe1ezV1Ccg"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_S1GDvg3IeE2XmKn1NwjnPQ"
      decimals="2"
      id="Narr_8yjByFOwVU6AudvYTbv3mw"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_PlanNameAxis_inod_EquityPlansMember_APOUYYbHokqBF-jX-_Hqag"
      id="Group_p4BpLoT_bUyLbRNvW4Xnng">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:normal;width:15.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&#160;-Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Remaining&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:normal;width:15.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Exercise&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contractual&#160;Term&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:normal;width:11.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Aggregate&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:normal;width:15.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:14.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(years)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:normal;width:11.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intrinsic&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Outstanding at January 1, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,339,162&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:13.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.22&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.38&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,640,009&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,169,968)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:13.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.54&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (4,001)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6.96&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Outstanding at December 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,165,193&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:13.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.67&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.32&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 113,458,326&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Exercisable at December 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,673,966&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:13.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.54&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 5.51&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 61,901,891&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:13.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:14.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:10.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Vested and Expected to vest at December 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,165,193&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:13.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.67&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:14.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.32&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:normal;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 113,458,326&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&#160;&#x2013;&#160;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Remaining&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Exercise&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contractual&#160;Term&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Aggregate&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(years)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intrinsic&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Outstanding at January 1, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,690,490&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.09&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 7.19&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,989,709&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Granted*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 25,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.31&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,287,462)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.37&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (88,866)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6.27&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Outstanding at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,339,162&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.22&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.38&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,640,009&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Exercisable at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,475,780&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.18&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.40&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 22,237,334&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Vested and Expected to vest at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,339,162&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.22&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.38&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,640,009&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;* Includes &lt;/i&gt;&lt;i style="font-style:italic;"&gt;25,000&lt;/i&gt;&lt;i style="font-style:italic;"&gt; stock options granted to a non-employee member of the Company&#x2019;s advisory board.&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&#160;- Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Remaining&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Exercise&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contractual Term&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Aggregate&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(years)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intrinsic Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Outstanding at January 1, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 923,571&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.76&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,786,252&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 268,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 42.57&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (336,264)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.44&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (13,536)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.84&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Outstanding at December 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 842,271&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.86&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.46&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,847,471&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Exercisable at December 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 314,244&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.32&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 7.73&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,374,251&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Vested and Expected to vest at December 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 842,271&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.86&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.46&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,847,471&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&#160;-&#160;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Remaining&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Exercise&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contractual Term&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Aggregate&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(years)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intrinsic Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Outstanding at January 1, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,027,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.46&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 9.75&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13.05&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (63,595)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.59&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (43,334)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Outstanding at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 923,571&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.76&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,786,252&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Exercisable at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 386,209&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.34&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.74&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,023,601&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Vested and Expected to vest at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 923,571&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.76&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,786,252&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_EtniPK0ICU-6FZ6XRrVQ1g"
      decimals="INF"
      id="Tc_nPWQdAFq2kK9oKts9jQX0g_5_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">5339162</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_EtniPK0ICU-6FZ6XRrVQ1g"
      decimals="2"
      id="Tc_4YIFCVYJ70KAUHp4ttsgyg_5_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">3.22</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_jmxIQXc-t0KaBZyssqMq0w"
      id="Tc_XgTePl02XUKRzrn0PfOjeQ_5_7">P6Y4M17D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_EtniPK0ICU-6FZ6XRrVQ1g"
      decimals="0"
      id="Tc_Y-jXNjfiBE2KWadDzlt33w_5_10"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">28640009</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_aWQm3TUbnU-1V5aCIUcZDQ"
      decimals="INF"
      id="Tc_xJj2icBTgEOzOBDuMr5bzg_7_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">2169968</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_aWQm3TUbnU-1V5aCIUcZDQ"
      decimals="2"
      id="Tc_ujgVVL-Dl0ClUXXhOkTSFg_7_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">2.54</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_aWQm3TUbnU-1V5aCIUcZDQ"
      decimals="INF"
      id="Tc_61Ei-v-6vkSZ9IGCjwKXHw_8_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">4001</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_aWQm3TUbnU-1V5aCIUcZDQ"
      decimals="2"
      id="Tc_AbMUuUd670-d76NSIbJNaA_8_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">6.96</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_e10c1fXBpE25m0tgQ7njdA"
      decimals="INF"
      id="Tc_4Ycvdk73KE23TTCKRZqOnQ_9_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">3165193</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_e10c1fXBpE25m0tgQ7njdA"
      decimals="2"
      id="Tc_bm9pk2GifEmyNiOQHoTdUw_9_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">3.67</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_aWQm3TUbnU-1V5aCIUcZDQ"
      id="Tc_cobHfbbrPU2_KDWxktVxvQ_9_7">P6Y3M25D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_e10c1fXBpE25m0tgQ7njdA"
      decimals="0"
      id="Tc_Ba0MXO64CEesjM9tCL2Kkg_9_10"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">113458326</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_e10c1fXBpE25m0tgQ7njdA"
      decimals="INF"
      id="Tc_FdkXJuuTjkaFC-RFEp10dA_11_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">1673966</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_e10c1fXBpE25m0tgQ7njdA"
      decimals="2"
      id="Tc_9qM6c1jzq0yVl9UxUR2jlg_11_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">2.54</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_aWQm3TUbnU-1V5aCIUcZDQ"
      id="Tc_l3n_OLdk3E-Sj0Qhw4A37g_11_7">P5Y6M3D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_e10c1fXBpE25m0tgQ7njdA"
      decimals="0"
      id="Tc_aObVsW9v2k2SBmFakLWnVQ_11_10"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">61901891</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_e10c1fXBpE25m0tgQ7njdA"
      decimals="INF"
      id="Tc_HfQI6rKgv0Gnwo6XfwxX7A_13_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">3165193</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_e10c1fXBpE25m0tgQ7njdA"
      decimals="2"
      id="Tc_ZQO3CM4kNUy22VGnULXwZQ_13_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">3.67</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_aWQm3TUbnU-1V5aCIUcZDQ"
      id="Tc_lfCEf93WEkuWH4kiKqeYhw_13_7">P6Y3M25D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_e10c1fXBpE25m0tgQ7njdA"
      decimals="0"
      id="Tc_ovUWjaXI6EuJN7mhcAIcLA_13_10"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">113458326</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_yJZ0XTvo-Em74H2hVVhUCw"
      decimals="INF"
      id="Tc_gvEk_7qg-UiEKSHghr1wzQ_6_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">6690490</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2022_WoVfVjcRzU6369CtXFJAWg"
      decimals="2"
      id="Tc_M0AH1iz5BEK2E8DfomE0Ew_6_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">3.09</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_G03ck5x1Xk2bCIxUAeF0nA"
      id="Tc_LtVAKMihtUCdbzxyLvoPxg_6_7">P7Y2M8D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_yJZ0XTvo-Em74H2hVVhUCw"
      decimals="0"
      id="Tc_a2v3b1-0wE-19M64Auokpw_6_10"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">5989709</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_jmxIQXc-t0KaBZyssqMq0w"
      decimals="INF"
      id="Tc_C1nxmB1U1Uyrr5xiEPukaQ_7_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">25000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="2"
      id="Tc_RBceFE67qUqqsVEwYn3RKg_7_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">3.31</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_jmxIQXc-t0KaBZyssqMq0w"
      decimals="INF"
      id="Tc_J-oqs93_B0GlIXEnIj_big_8_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">1287462</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="2"
      id="Tc_-6VEgTmeVEe8_-7QfmYH5A_8_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">2.37</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_jmxIQXc-t0KaBZyssqMq0w"
      decimals="INF"
      id="Tc_37XBZYYew0GggiRGElsBZQ_9_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">88866</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="2"
      id="Tc_awJ363ZsmEO4614CWprWog_9_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">6.27</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_EtniPK0ICU-6FZ6XRrVQ1g"
      decimals="INF"
      id="Tc_BMO3nhHZMEOe8d74d54Idg_10_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">5339162</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="2"
      id="Tc_d9OcC9ye-UyOV_g7tnkNMA_10_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">3.22</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_jmxIQXc-t0KaBZyssqMq0w"
      id="Tc_lvdShK4XL0GniPJxRLJINA_10_7">P6Y4M17D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_EtniPK0ICU-6FZ6XRrVQ1g"
      decimals="0"
      id="Tc_s6VdcSSSzUOCr998SLmGIA_10_10"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">28640009</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_EtniPK0ICU-6FZ6XRrVQ1g"
      decimals="INF"
      id="Tc_tceuJdBf6ka9Uw88vUSa0Q_12_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">3475780</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="2"
      id="Tc_IRTXLmQBk025VIFtH-UvTw_12_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">2.18</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_jmxIQXc-t0KaBZyssqMq0w"
      id="Tc_3uhYuCOc60mf-fJ8tBsL9g_12_7">P6Y4M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_EtniPK0ICU-6FZ6XRrVQ1g"
      decimals="0"
      id="Tc_Q6J4odYZiEi3rMMctsvyJQ_12_10"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">22237334</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_EtniPK0ICU-6FZ6XRrVQ1g"
      decimals="INF"
      id="Tc_KgLz9maGJEOyzv7dqEAsog_14_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">5339162</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="2"
      id="Tc_VV2QYU_lHE6B65wa-aZ3ZQ_14_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">3.22</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_jmxIQXc-t0KaBZyssqMq0w"
      id="Tc_YLZyZVkstk62DehoCZ1gfQ_14_7">P6Y4M17D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_EtniPK0ICU-6FZ6XRrVQ1g"
      decimals="0"
      id="Tc_V194d8jCtEy3vBEovZLBMA_14_10"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">28640009</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_TitleOfIndividualAxis_srt_DirectorMember_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_y3YcLN4pr0GG0CKG2-ytUg"
      decimals="INF"
      id="Narr_wI4p4kyQzka8lFFYfi8FHA"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">25000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_nBzKbRsmBkuJ7QlgwyUinQ"
      decimals="INF"
      id="Tc_NEdK7D7Z4EOOQrwQxRHjrQ_6_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">923571</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_nBzKbRsmBkuJ7QlgwyUinQ"
      decimals="2"
      id="Tc_XWOjEwziFES_v044fG0HjA_6_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">3.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_K4xRyIwJ9UuhdosvSbDM9Q"
      id="Tc_fY4b2w0dq0qfEgqhNLPfZg_6_7">P8Y9M3D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_nBzKbRsmBkuJ7QlgwyUinQ"
      decimals="0"
      id="Tc_2Gufe9zkeE2T5h4pO-u4lg_6_10"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">4786252</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_NmgNgFypa0-knTgaSMhzpg"
      decimals="INF"
      id="Tc_6EHwsSI4kUuoXkejXmVL4Q_7_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">268500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_NmgNgFypa0-knTgaSMhzpg"
      decimals="2"
      id="Tc_iyxLkscVgUm-1f4B26mN7Q_7_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">42.57</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_NmgNgFypa0-knTgaSMhzpg"
      decimals="INF"
      id="Tc_O77GpS66SEarp_SeEAlgfg_8_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">336264</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_NmgNgFypa0-knTgaSMhzpg"
      decimals="2"
      id="Tc_RB8AWsxgrUGx9qdflXxADA_8_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">3.44</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_NmgNgFypa0-knTgaSMhzpg"
      decimals="INF"
      id="Tc_mEAQyB8bgE66AEa-_dQqXA_9_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">13536</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_NmgNgFypa0-knTgaSMhzpg"
      decimals="2"
      id="Tc_edixypSvNEul1m4EiTAp-Q_9_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">4.84</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_0zg3zU8O1kWhCYvsJi7GOQ"
      decimals="INF"
      id="Tc_dYNFeg3FYkech6hQOFQizQ_10_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">842271</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_0zg3zU8O1kWhCYvsJi7GOQ"
      decimals="2"
      id="Tc_kEFNTSVD_k6A4vRYcOs-UA_10_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">15.86</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_NmgNgFypa0-knTgaSMhzpg"
      id="Tc_Nr2IFc2ZCEyp51YgKBBKBQ_10_7">P8Y5M15D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_0zg3zU8O1kWhCYvsJi7GOQ"
      decimals="0"
      id="Tc_3_mB6e90-EOj1aRsl6f2fg_10_10"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">20847471</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_0zg3zU8O1kWhCYvsJi7GOQ"
      decimals="INF"
      id="Tc_NwoWCoHjzkmwvcKviRP7Tw_12_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">314244</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_0zg3zU8O1kWhCYvsJi7GOQ"
      decimals="2"
      id="Tc_B2H4AK9_3Ee3sw9niO1izA_12_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">3.32</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_NmgNgFypa0-knTgaSMhzpg"
      id="Tc_DO-QYFPAo0yxKsIRXarKBw_12_7">P7Y8M23D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_0zg3zU8O1kWhCYvsJi7GOQ"
      decimals="0"
      id="Tc_Cw-1MPUPKk23xvDc_1PCEA_12_10"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">11374251</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_0zg3zU8O1kWhCYvsJi7GOQ"
      decimals="INF"
      id="Tc_v0GaGJ5GJ0up_yoGwqfY0w_14_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">842271</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_0zg3zU8O1kWhCYvsJi7GOQ"
      decimals="2"
      id="Tc_QhREXKYS_UOVNiW6kRoawg_14_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">15.86</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_NmgNgFypa0-knTgaSMhzpg"
      id="Tc_GEDamvE4yk6_suPpAP1w0g_14_7">P8Y5M15D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_0zg3zU8O1kWhCYvsJi7GOQ"
      decimals="0"
      id="Tc_RLoLim5I1UawEmLvLalOeg_14_10"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">20847471</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_1QX6msLoqUSOjSTVRyjd3Q"
      decimals="INF"
      id="Tc_JqgOC2UXEUGMQNTLE1hLbg_6_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">1027500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_1QX6msLoqUSOjSTVRyjd3Q"
      decimals="2"
      id="Tc_X-h5xebwuEuAPqkc7PcSgA_6_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">3.46</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_UnngrDnV7UuQUrb43pZqTA"
      id="Tc_Gt_k-I0RmEumanwN2xNe4w_6_7">P9Y9M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_K4xRyIwJ9UuhdosvSbDM9Q"
      decimals="INF"
      id="Tc_2u1LiRvP3Eabs_1pMmHlng_7_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">3000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_K4xRyIwJ9UuhdosvSbDM9Q"
      decimals="2"
      id="Tc_HPJ6B-5-rUCvZi6GWCraXg_7_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">13.05</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_K4xRyIwJ9UuhdosvSbDM9Q"
      decimals="INF"
      id="Tc_qvczTbsOLECXLsH_AV-lbw_8_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">63595</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_K4xRyIwJ9UuhdosvSbDM9Q"
      decimals="2"
      id="Tc_J9Z_rbr61UK8yy8bBfXT6g_8_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">4.59</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_K4xRyIwJ9UuhdosvSbDM9Q"
      decimals="INF"
      id="Tc_4ITGny1Q_Ee81UTiQB76FA_9_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">43334</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_K4xRyIwJ9UuhdosvSbDM9Q"
      decimals="2"
      id="Tc_WwrnpcXcjESMDkOmBjbjKg_9_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">3.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_nBzKbRsmBkuJ7QlgwyUinQ"
      decimals="INF"
      id="Tc_eWdeWvk_ok6_M-vBBmWEaA_10_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">923571</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_nBzKbRsmBkuJ7QlgwyUinQ"
      decimals="2"
      id="Tc_lFG8m90xwU2VbuTixcmurg_10_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">3.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_K4xRyIwJ9UuhdosvSbDM9Q"
      id="Tc_bdu1TtBEwkSAvGaHZ7DKMg_10_7">P8Y9M3D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_nBzKbRsmBkuJ7QlgwyUinQ"
      decimals="0"
      id="Tc_TxdW_W8sJ0idZeyuDvnBmA_10_10"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">4786252</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_nBzKbRsmBkuJ7QlgwyUinQ"
      decimals="INF"
      id="Tc_EuRV0_sfy0SAdVzaqCgHTA_12_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">386209</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_nBzKbRsmBkuJ7QlgwyUinQ"
      decimals="2"
      id="Tc_GkJUWOEX_0KoLK6nH3NfCA_12_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">3.34</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_K4xRyIwJ9UuhdosvSbDM9Q"
      id="Tc_gqb9uDlv20-jbhWm_IT39w_12_7">P8Y8M26D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_nBzKbRsmBkuJ7QlgwyUinQ"
      decimals="0"
      id="Tc_ObFR5lQG4k2y2F7V-aGCGQ_12_10"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2023601</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_nBzKbRsmBkuJ7QlgwyUinQ"
      decimals="INF"
      id="Tc_5zw-QfoYRkGXPrplOgO9sw_14_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">923571</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_nBzKbRsmBkuJ7QlgwyUinQ"
      decimals="2"
      id="Tc_71CGxdM3c0SSgqRP-e9Zzw_14_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">3.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_K4xRyIwJ9UuhdosvSbDM9Q"
      id="Tc_h-CAjphi50C7W-QDhXR0Nw_14_7">P8Y9M3D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_nBzKbRsmBkuJ7QlgwyUinQ"
      decimals="0"
      id="Tc_fNpvRYggFke-bWDrYTiOvQ_14_10"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">4786252</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="INF"
      id="Narr_5nWDFS1mwUaV12jxKabFwg"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">268500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="INF"
      id="Narr_d46wLxMJokaVaiTevS86rQ"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">2506232</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="2"
      id="Narr_E9Rkkk5pxU2PtFWcmlGm1A"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">2.66</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_8DuPb6w0zU6DLbsVO6seHA"
      id="Group_bEyAjdBL506EzRAc8LOCAg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Restricted&#160;Stock&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Grant&#160;Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Units&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Unvested at January 1, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 749,756&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.77&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 549,079&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40.61&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Vested&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (48,761)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8.42&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (995)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8.29&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Unvested at December 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,249,079&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20.98&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Restricted Stock&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Grant&#160;Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Units&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Unvested at January 1, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 700,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.59&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49,756&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8.29&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Vested&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:57.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Unvested at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:21.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 749,756&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.77&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_fk5-2GIc_E6yEF_SV2noWQ"
      decimals="INF"
      id="Tc_pr2KRtjIb0CyV75-w2O1wA_6_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">749756</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_fk5-2GIc_E6yEF_SV2noWQ"
      decimals="INF"
      id="Tc_oLlwNKBfhUuv6y1pCdDONQ_6_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">5.77</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_r28vrVunzE6Y7Pr8d98ApQ"
      decimals="INF"
      id="Tc_p7NwFJJskEq2W8Qhtxz06w_7_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">549079</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_r28vrVunzE6Y7Pr8d98ApQ"
      decimals="2"
      id="Tc_bX9THEFEMESxUNbTvyKmCQ_7_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">40.61</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_r28vrVunzE6Y7Pr8d98ApQ"
      decimals="INF"
      id="Tc_eKs1yrqwSUuPa9LiU9Yx4w_8_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">48761</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_r28vrVunzE6Y7Pr8d98ApQ"
      decimals="2"
      id="Tc_KLQ9W-CP5EmpWuzMoL40wA_8_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">8.42</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_r28vrVunzE6Y7Pr8d98ApQ"
      decimals="INF"
      id="Tc_tL76plwNEUSj3ppWeP4IWQ_9_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">995</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_r28vrVunzE6Y7Pr8d98ApQ"
      decimals="2"
      id="Tc_RDPUthmqnkek7AvDJPRJtw_9_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">8.29</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_FjBKu8s8aEehcxym0F6GhA"
      decimals="INF"
      id="Tc_uUeUEQcvkk6ciZcca3EnsQ_10_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">1249079</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_FjBKu8s8aEehcxym0F6GhA"
      decimals="2"
      id="Tc_06Qy81S8REeS2VoLQXplSA_10_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">20.98</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_NGDGuB25Dk-L2onuGDgqzQ"
      decimals="INF"
      id="Tc_9Q6l9h2qD0mGG2N-un8YZg_6_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">700000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_NGDGuB25Dk-L2onuGDgqzQ"
      decimals="2"
      id="Tc_2aww9B-c70OrzrOnGIyQFw_6_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">5.59</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_Nxv9DKiUokmPp5RwTNkLPg"
      decimals="INF"
      id="Tc_Aqj33QGXE0GoZmia1fDBlQ_7_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">49756</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_Nxv9DKiUokmPp5RwTNkLPg"
      decimals="2"
      id="Tc_zPGmxjx3CU20vWeOble9LQ_7_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">8.29</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_fk5-2GIc_E6yEF_SV2noWQ"
      decimals="INF"
      id="Tc_v82RulcDykehsfLc-EGPLQ_10_2"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">749756</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_fk5-2GIc_E6yEF_SV2noWQ"
      decimals="2"
      id="Tc_3yNsAovehUaQus2QR9FgWA_10_5"
      unitRef="Unit_Divide_USD_shares_EKna1itOYkK4p_2cRWwq8w">5.77</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2024_To_12_31_2024_srt_TitleOfIndividualAxis_inod_NonEmployeeMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_CKBmSODh0Uq2YriEHjstFA"
      decimals="INF"
      id="Narr_VKyRV9yrPUGzi-7ScHnb5g"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">34246</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_ZNzogdH5jE2de-mLf-S8fA"
      decimals="INF"
      id="Narr_cicMPZ-4IEWT-pIXA2uwxQ"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">200000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_jErzQdPJKUKm2h19Lv8jNQ"
      decimals="INF"
      id="Narr_2hsswihpqEOpcVgqIUGUgg"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">1049079</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_tBdaD7jObESRaJN-G0P9AQ"
      decimals="-5"
      id="Narr_JS1IAplE4k-gBXtyMX__dw"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">9100000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_fWTSucoVEUe4yw6Qr0B42A"
      id="Narr_SlLRstymtUSwkwHPyr5s6Q">P34M</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_dPb8d2je8km8OBvQeNYlZg"
      decimals="-5"
      id="Narr_OBGwUOAn-kimKLCxdRO7Xw"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">21900000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_8DuPb6w0zU6DLbsVO6seHA"
      id="Narr_90QnOtAATEeGQrFds6erYQ">P16M</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <inod:RedemptionOfNonControllingInterestTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_EX2rS2Hm9EaTa_07hQFffg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;12.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Redemption of non-controlling interest&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;span style="font-weight:normal;"&gt;On December 31, 2024, the Company redeemed the &lt;/span&gt;&lt;span style="font-weight:normal;"&gt;6.1%&lt;/span&gt;&lt;span style="font-weight:normal;"&gt; non-controlling interest in Innodata DocGenix, LLC; Innodata DocGenix, LLC, is now a wholly owned subsidiary. The Company accounted for the transaction in accordance with ASC Topic 810, &#x201c;Consolidation&#x201d;, which discusses the proper accounting treatment of the carrying value for the non-controlling interest. Under the standard, any change in ownership that does not result in a loss of control is to be accounted for as an equity transaction. To comply with the standard, the Company reclassified the remaining carrying value of the Non-controlling interest attributed to the DocGenix subsidiary amounting to &lt;/span&gt;&lt;span style="font-weight:normal;"&gt;$0.6&lt;/span&gt;&lt;span style="font-weight:normal;"&gt; million from Non-controlling interest to Additional paid-in capital in the Consolidated Balance Sheets as of December 31, 2024. &lt;/span&gt;&lt;/p&gt;</inod:RedemptionOfNonControllingInterestTextBlock>
    <inod:NoncontrollingInterestRedemptionPercentageByParent
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="3"
      id="Narr_Sr0QKUuyEECNIo3h8AgZ7g"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.061</inod:NoncontrollingInterestRedemptionPercentageByParent>
    <us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount
      contextRef="As_Of_12_31_2024_us-gaap_BalanceSheetLocationAxis_us-gaap_AdditionalPaidInCapitalMember_oCNVS04TC0Cq-wcGW_H4gw"
      decimals="-5"
      id="Narr_nsnN91lW90um9CyiIhLzOA"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">600000</us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount>
    <us-gaap:ComprehensiveIncomeNoteTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_Jo3oTSoIf06cj9grXlUDcw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;13.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Comprehensive loss&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Accumulated other comprehensive loss, as reflected in the consolidated balance sheets, consists of pension liability adjustments, net of taxes, foreign currency translation adjustment and changes in fair value of derivatives, net of taxes. The components of accumulated other comprehensive loss as of December 31, 2024 and 2023, and reclassifications out of accumulated other comprehensive loss for the&#160;years then ended, are presented below (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign&#160;Currency&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&#160;Other&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Pension&#160;Liability&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Translation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Comprehensive&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Derivatives&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Loss&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at January 1, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (412)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,250)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,621)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Other comprehensive income (loss) before reclassifications, net of taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 172&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (494)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (592)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (914)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total other comprehensive loss before reclassifications, net of taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (240)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (453)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,842)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,535)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net amount reclassified to earnings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 58&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 65&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at December 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (233)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (395)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,842)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,470)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign&#160;Currency&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&#160;Other&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Pension&#160;Liability&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Translation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Comprehensive&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Derivatives&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Loss&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at January 1, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (86)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (365)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,657)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,108)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Other comprehensive income (loss) before reclassifications, net of taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (322)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 185&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 407&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 270&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total other comprehensive loss before reclassifications, net of taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (408)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (180)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,250)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,838)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net amount reclassified to earnings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (4)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 221&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 217&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (412)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,250)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,621)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Taxes related to each component of other comprehensive loss were not material for the fiscal years presented and therefore not disclosed separately.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;All reclassifications out of accumulated other comprehensive loss had an impact on direct operating costs in the consolidated statements of operations and comprehensive loss.&lt;/p&gt;</us-gaap:ComprehensiveIncomeNoteTextBlock>
    <us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Group_HcF0Em_ioUK6Gz7H5BCLeg">The components of accumulated other comprehensive loss as of December 31, 2024 and 2023, and reclassifications out of accumulated other comprehensive loss for the&#160;years then ended, are presented below (in thousands):&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign&#160;Currency&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&#160;Other&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Pension&#160;Liability&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Translation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Comprehensive&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Derivatives&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Loss&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at January 1, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (412)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,250)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,621)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Other comprehensive income (loss) before reclassifications, net of taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 172&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (494)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (592)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (914)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total other comprehensive loss before reclassifications, net of taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (240)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (453)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,842)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,535)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net amount reclassified to earnings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 58&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 65&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at December 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (233)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (395)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,842)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,470)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign&#160;Currency&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&#160;Other&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Pension&#160;Liability&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Translation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Comprehensive&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Derivatives&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Loss&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at January 1, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (86)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (365)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,657)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,108)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Other comprehensive income (loss) before reclassifications, net of taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (322)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 185&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 407&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 270&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total other comprehensive loss before reclassifications, net of taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (408)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (180)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,250)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,838)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net amount reclassified to earnings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (4)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 221&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 217&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (412)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,250)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,621)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_nJVPxfz-WUSmy3NCOT2APA"
      decimals="-3"
      id="Tc_WYiM9iyXHUiqd2k9oXj-jQ_5_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-412000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_CVac1-kyokSMXmD22IhQNQ"
      decimals="-3"
      id="Tc_l8aXYoA2CE2EiKePmPk8Tw_5_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">41000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_PV2elI63NEyHDoTFk3r2pA"
      decimals="-3"
      id="Tc_fmgvj4WP1UuD_dFZl0wv5Q_5_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-1250000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_V7v7ubfu6k6Xs9sp3gx4cg"
      decimals="-3"
      id="Tc_yktU4x-IUUK8vQcLKJLzzA_5_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-1621000</us-gaap:StockholdersEquity>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_BGgJQnoTW02boQd9SECQyg"
      decimals="-3"
      id="Tc_CEi4QxJe80SFRL3J4MuwWg_6_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">172000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_H9NJJEgo4kWJJbKAl2z-Qg"
      decimals="-3"
      id="Tc_zcNBnpueTUmXJnHRTRaqKw_6_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-494000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_pzfnAvg4pUGclFLXGW9jnw"
      decimals="-3"
      id="Tc_o1FRIf4BbUuts4eYMkQ0uA_6_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-592000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_jD5VrhScy06RSiAu49DIAA"
      decimals="-3"
      id="Tc_nw5i_PkWjUmhF3ct5uslvA_6_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-914000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_BGgJQnoTW02boQd9SECQyg"
      decimals="-3"
      id="Tc_AeEtErjD4USTinRVlth07g_7_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-240000</inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_H9NJJEgo4kWJJbKAl2z-Qg"
      decimals="-3"
      id="Tc_hMUV0u58CE2Hf5bH-FmjSw_7_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-453000</inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_pzfnAvg4pUGclFLXGW9jnw"
      decimals="-3"
      id="Tc_PZo6earvuEi__7K41DGyxA_7_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-1842000</inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_jD5VrhScy06RSiAu49DIAA"
      decimals="-3"
      id="Tc_LC9qRixPS065-Txk70gsgQ_7_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-2535000</inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_BGgJQnoTW02boQd9SECQyg"
      decimals="-3"
      id="Tc_P2GDuFnpTUOK1syPjtYh6g_8_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">7000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_H9NJJEgo4kWJJbKAl2z-Qg"
      decimals="-3"
      id="Tc_EDFX4fIIUkeLL4-0sH1cEQ_8_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">58000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_jD5VrhScy06RSiAu49DIAA"
      decimals="-3"
      id="Tc_L8mL5eErJEW99SC8POJqQw_8_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">65000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_WeGzA3hrkEOYbysOV2UppA"
      decimals="-3"
      id="Tc_9Qocci-39UCuvkLCTJ1-bw_9_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-233000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_5w_H5iQOwE6adIyuRS2n_Q"
      decimals="-3"
      id="Tc_oIGZF7Kyvkm66RP1EpCgYg_9_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-395000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_nvIIRtKsT0-ZjLXT7vplNA"
      decimals="-3"
      id="Tc_3eWtWFeLFkCIpYX-aPCViQ_9_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-1842000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_CSRCPJe9v0OyfUwMc3gLkg"
      decimals="-3"
      id="Tc_Xfg8BhSs20qI1xiF4JTbVg_9_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-2470000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_OlEFfdk_ZU-DlbK6CaR86Q"
      decimals="-3"
      id="Tc_03pKNhvuYEK8i2gY6AwcFg_5_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-86000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_HTS8kjauZkGXuoVV9EP1Xg"
      decimals="-3"
      id="Tc_0DQSFIpKrU6c9sLh_SPTlg_5_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-365000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_zCf_LNCZRUyXO1jdgC_P8g"
      decimals="-3"
      id="Tc_g7s_vvdgRki4cMRdhwEidg_5_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-1657000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_ee1CIzcen0m5NhH2RNN34Q"
      decimals="-3"
      id="Tc_l8j2xshPREWLoSrxliY4zQ_5_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-2108000</us-gaap:StockholdersEquity>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_Aqd5yOzLDk6zkCnBcRAbAA"
      decimals="-3"
      id="Tc_Qg6RKGQ7BE6kVS3vbDpmpA_6_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-322000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_awj5OpJa4U-8btL7kJn3Vg"
      decimals="-3"
      id="Tc_WOczuqtj_0itoMmOKLl16w_6_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">185000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_tqUhE8BohU66zRGcrSUCUA"
      decimals="-3"
      id="Tc_RgVQqPN-Ak6efMvZOmSmqQ_6_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">407000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_7EVSMZ6DwUa94xKEQUjYlg"
      decimals="-3"
      id="Tc_2YdMgp7Ec0qr0HYaqIzwFA_6_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">270000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_Aqd5yOzLDk6zkCnBcRAbAA"
      decimals="-3"
      id="Tc_40uzflSiok2m10LK0aMtbQ_7_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-408000</inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_awj5OpJa4U-8btL7kJn3Vg"
      decimals="-3"
      id="Tc_ydTqx0IDeEW6AheW8VBHkA_7_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-180000</inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_tqUhE8BohU66zRGcrSUCUA"
      decimals="-3"
      id="Tc_NlrGan4wCkOLwH27vPudZQ_7_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-1250000</inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_7EVSMZ6DwUa94xKEQUjYlg"
      decimals="-3"
      id="Tc_2vEhycsWQEO4XL3yhQ8iCQ_7_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-1838000</inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_Aqd5yOzLDk6zkCnBcRAbAA"
      decimals="-3"
      id="Tc_ITu8vfDnfE-0YWWALues_Q_8_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-4000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_awj5OpJa4U-8btL7kJn3Vg"
      decimals="-3"
      id="Tc_uD4rEwdYKEOqEqaK_e3FWw_8_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">221000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_7EVSMZ6DwUa94xKEQUjYlg"
      decimals="-3"
      id="Tc_XZnMxxwcXE2A-kf0YdBmRw_8_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">217000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_nJVPxfz-WUSmy3NCOT2APA"
      decimals="-3"
      id="Tc_8yw6QthKXE6Cr4bO77jbQQ_9_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-412000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_CVac1-kyokSMXmD22IhQNQ"
      decimals="-3"
      id="Tc_w81CLuQG2ECvto3VPwMhRQ_9_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">41000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_PV2elI63NEyHDoTFk3r2pA"
      decimals="-3"
      id="Tc_PCJi4z6Nyk-mPDiE0LUTNw_9_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-1250000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_V7v7ubfu6k6Xs9sp3gx4cg"
      decimals="-3"
      id="Tc_pSv1xe3LbkWkaHJ0LSeOjA_9_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-1621000</us-gaap:StockholdersEquity>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_SnMgrw_yfUqcFlgD2gXmhg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;14.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Segment reporting and concentrations&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s operations are classified in three reporting segments: Digital Data Solutions (DDS), Synodex and Agility.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The DDS segment provides AI data preparation services, collecting or creating training data, annotating training data, and training AI algorithms for its customers, and AI model deployment and integration. The DDS segment also provides a range of data engineering support services including data transformation, data curation, data hygiene, data consolidation, data extraction, data compliance, and master data management.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Synodex segment provides an industry platform that transforms medical records into useable digital data organized in accordance with its proprietary data models or customer data models.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Agility segment provides an industry platform that provides marketing communications and public relations professionals with the ability to target and distribute content to journalists and social media influencers world-wide and to monitor and analyze global news channels (print, web, radio and TV) and social media channels.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;A significant portion of the Company&#x2019;s revenues is generated from its locations in the Philippines, India, Sri Lanka, Canada, Germany, Israel, United States and the United Kingdom. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s chief operating decision maker (CODM) is the senior executive committee that includes the chief executive officer, chief operating officer, and the chief financial officer (interim).&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The U.S. GAAP measures used by the Company&#x2019;s CODM to evaluate segment performance and allocate resources&#x2014;such as employees, property, and financial or capital resources during the annual budgeting and forecasting process, are Revenues, Gross Profit and Income before provision for income taxes. Performance results are monitored, reviewed, and measured monthly and quarterly by comparing budget and forecast to actual results for profit measures, assessing returns on investment, compensation decisions and changing strategies, if required.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The accounting policies used by the DDS, Synodex and Agility segments are the same as those described in the summary of significant accounting policies.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;The measure of segment assets is reported on the balance sheet as total consolidated assets shown in the table below (in thousands): &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:34.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-family:'Aptos Narrow';font-weight:bold;"&gt;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total assets:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;DDS&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 87,165&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 37,232&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Synodex&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,983&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,379&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Agility &lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,301&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 18,820&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Total Consolidated&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 113,449&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 59,431&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="vertical-align:top;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;span style="display:inline-block;width:12.17pt;"&gt;&lt;/span&gt;Agility assets include goodwill of $2.0 million and $2.1 million as of December 31, 2024 and 2023, respectively&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2)&lt;/sup&gt;&lt;span style="display:inline-block;width:12.17pt;"&gt;&lt;/span&gt;Segment assets consist of cash, receivables, prepaid and other current assets, property and equipment, and intangibles.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;The table below shows segment information for other significant income statement items (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December 31, 2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;DDS&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Synodex&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Agility&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 141,098&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,864&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,499&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 170,461&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="color:#1f1f1f;"&gt;Direct operating costs &lt;/span&gt;&lt;sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;span style="color:#1f1f1f;"&gt; &lt;/span&gt;&lt;sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(3)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 88,186&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,763&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,438&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 103,387&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="color:#1f1f1f;"&gt;Gross profit&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 52,912&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,101&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 12,061&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 67,074&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="color:#1f1f1f;"&gt;Selling and administrative expenses &lt;/span&gt;&lt;sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2)&lt;/sup&gt;&lt;span style="color:#1f1f1f;"&gt; &lt;/span&gt;&lt;sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(4)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 31,685&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 194&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,859&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 42,738&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="color:#1f1f1f;"&gt;Segment operating income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,227&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,907&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,202&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 24,336&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Interest expense (income), net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (153)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (149)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income before provision for income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,380&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,907&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,198&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 24,485&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December 31, 2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;DDS&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Synodex&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Agility&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 61,576&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,511&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 17,688&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 86,775&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="color:#1f1f1f;"&gt;Direct operating costs &lt;/span&gt;&lt;sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1) (3)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 40,057&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,712&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,713&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 55,482&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="color:#1f1f1f;"&gt;Gross profit&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,519&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 799&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,975&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 31,293&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="color:#1f1f1f;"&gt;Selling and administrative expenses &lt;/span&gt;&lt;sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2) (4)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 20,085&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 580&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,310&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 30,975&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="color:#1f1f1f;"&gt;Segment operating income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,434&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 219&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,335)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 318&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Interest expense, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 174&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 179&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income before provision for income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,260&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 219&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,340)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 139&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"&gt;&lt;sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"&gt;&lt;span style="font-size:8pt;"&gt;Direct operating costs consist of direct and indirect labor costs, occupancy costs, data center hosting fees, cloud services, content acquisition costs, depreciation and amortization, travel, telecommunications, computer services and supplies, realized (gain) loss on forward contracts, foreign currency revaluation (gain) loss, and other direct expenses that are incurred in providing services to our customers.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"&gt;&lt;sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"&gt;&lt;span style="font-size:8pt;"&gt;Selling and administrative expenses consist of payroll and related costs including commissions, bonuses, and stock-based compensation; marketing, advertising, trade conferences and related expenses; new services research and related software development expenses, software subscriptions, professional and consultant fees, provision for credit losses and other administrative overhead expenses.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"&gt;&lt;sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(3)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"&gt;&lt;span style="font-size:8pt;"&gt;Includes non-cash expenses which consist mainly of depreciation, amortization of capitalized software development costs and stock-based compensation expense.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(4)&lt;/sup&gt;&lt;span style="display:inline-block;width:12.17pt;"&gt;&lt;/span&gt;Includes non-cash expenses which consist mainly of stock-based compensation expense.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Long-lived assets as of December 31, 2024 and 2023 by geographic region were comprised of (in thousands): &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:35.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,182&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,101&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign countries:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,265&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,328&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;United Kingdom&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 806&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,028&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Philippines&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,532&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,484&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;India&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,251&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,791&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Sri Lanka&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 587&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 423&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Israel&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 63&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 13&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Germany&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total foreign&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 13,508&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 14,067&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Totals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;23,690&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 23,168&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt;"&gt;Long-lived assets include the unamortized balance of right-of-use assets amounting to $4.2 million and $5.1 million as of December 31, 2024 and December 31, 2023, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;One customer in the DDS segment generated approximately 48% of the Company&#x2019;s total revenues in the fiscal year ended December 31, 2024. Another customer in the DDS segment generated approximately 10% of the Company&#x2019;s total &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"&gt;revenues in the fiscal year ended December 31, 2023. No other customer accounted for 10% or more of total revenues during these periods. Further, in the&#160;years ended December 31, 2024 and 2023, revenues from non-U.S. customers accounted for 21% and 37%, respectively, of the Company&#x2019;s revenues.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Revenues for each of the two&#160;years in the period ended December 31, 2024 and 2023 by geographic region (determined based upon customer domicile), were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:34.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 133,876&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 54,430&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;United Kingdom &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,006&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,766&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;The Netherlands&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,059&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,291&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,696&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,156&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Others - principally other European countries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,824&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,132&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Totals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 170,461&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 86,775&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;As of December 31, 2024, approximately 16% of the Company&#x2019;s accounts receivable was due from foreign (principally European) customers and 61% of accounts receivable was due from two customers. As of December 31, 2023, approximately 31% of the Company&#x2019;s accounts receivable was due from foreign (principally European) customers and 53% of accounts receivable was due from three customers. No other customer accounted for 10% or more of the accounts receivable as of December 31, 2024 and 2023.&lt;/p&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="INF"
      id="Narr_CEe2yGLz4kuoeFZY8HqT6g"
      unitRef="Unit_Standard_segment_vYtCzY4wxUGW3JZsiWLCYw">3</us-gaap:NumberOfReportableSegments>
    <us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_GelHdk_3LUGD6a18ZqnFTg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;The measure of segment assets is reported on the balance sheet as total consolidated assets shown in the table below (in thousands): &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:34.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-family:'Aptos Narrow';font-weight:bold;"&gt;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total assets:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;DDS&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 87,165&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 37,232&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Synodex&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,983&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,379&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Agility &lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,301&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 18,820&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Total Consolidated&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 113,449&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 59,431&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="vertical-align:top;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;span style="display:inline-block;width:12.17pt;"&gt;&lt;/span&gt;Agility assets include goodwill of $2.0 million and $2.1 million as of December 31, 2024 and 2023, respectively&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2)&lt;/sup&gt;&lt;span style="display:inline-block;width:12.17pt;"&gt;&lt;/span&gt;Segment assets consist of cash, receivables, prepaid and other current assets, property and equipment, and intangibles.&lt;/p&gt;</us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_ZkcQQYagPUyHD8wdcfG0jQ"
      decimals="-3"
      id="Tc_zocz7dVtqkm8-6ZpANwcAQ_4_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">87165000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_ggxGbhWXtkmqZAz4OWrkPQ"
      decimals="-3"
      id="Tc_RGRvJeSJk0at8UTXSbrKwg_4_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">37232000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_SSIfYE19WUOlIjea1mhcDg"
      decimals="-3"
      id="Tc_dW7BAzRmMUaaB1xFNe0New_5_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">4983000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_sgEdfoGjkkyqNaNicssoTw"
      decimals="-3"
      id="Tc_tTWPw3ntRUyUcN0hen0Q-A_5_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3379000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_MLNwS_aTIUuTdBN3FUPH9g"
      decimals="-3"
      id="Tc_nUuA-QN_g0md4m4wQnE6pA_6_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">21301000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_ZpY5x40RPUa6rvRcgQwxBg"
      decimals="-3"
      id="Tc_ys8cR3pD0EWxaRhwIJhkFA_6_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">18820000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_Tdqfb4BGEkuilgI1Ug6Y7Q_7_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">113449000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_bxn5E54a10OkI5wMfsJygw_7_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">59431000</us-gaap:Assets>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_MLNwS_aTIUuTdBN3FUPH9g"
      decimals="-5"
      id="Narr_VfCvTGWfBk6q_u3FPzLvLA"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2000000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_ZpY5x40RPUa6rvRcgQwxBg"
      decimals="-5"
      id="Narr_BcXoNxgMDkmn8CMUZfQwxg"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2100000</us-gaap:Goodwill>
    <us-gaap:ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_2ceeW01OFUW4W47EFwSb2Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;The table below shows segment information for other significant income statement items (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December 31, 2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;DDS&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Synodex&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Agility&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 141,098&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,864&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,499&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 170,461&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="color:#1f1f1f;"&gt;Direct operating costs &lt;/span&gt;&lt;sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;span style="color:#1f1f1f;"&gt; &lt;/span&gt;&lt;sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(3)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 88,186&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,763&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,438&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 103,387&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="color:#1f1f1f;"&gt;Gross profit&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 52,912&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,101&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 12,061&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 67,074&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="color:#1f1f1f;"&gt;Selling and administrative expenses &lt;/span&gt;&lt;sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2)&lt;/sup&gt;&lt;span style="color:#1f1f1f;"&gt; &lt;/span&gt;&lt;sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(4)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 31,685&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 194&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,859&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 42,738&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="color:#1f1f1f;"&gt;Segment operating income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,227&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,907&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,202&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 24,336&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Interest expense (income), net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (153)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (149)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income before provision for income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,380&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,907&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,198&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 24,485&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December 31, 2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;DDS&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Synodex&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Agility&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 61,576&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,511&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 17,688&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 86,775&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="color:#1f1f1f;"&gt;Direct operating costs &lt;/span&gt;&lt;sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1) (3)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 40,057&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,712&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,713&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 55,482&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="color:#1f1f1f;"&gt;Gross profit&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,519&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 799&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,975&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 31,293&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="color:#1f1f1f;"&gt;Selling and administrative expenses &lt;/span&gt;&lt;sup style="color:#1f1f1f;font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2) (4)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 20,085&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 580&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,310&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 30,975&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="color:#1f1f1f;"&gt;Segment operating income&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,434&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 219&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,335)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 318&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Interest expense, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 174&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 179&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income before provision for income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,260&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 219&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,340)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 139&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"&gt;&lt;sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"&gt;&lt;span style="font-size:8pt;"&gt;Direct operating costs consist of direct and indirect labor costs, occupancy costs, data center hosting fees, cloud services, content acquisition costs, depreciation and amortization, travel, telecommunications, computer services and supplies, realized (gain) loss on forward contracts, foreign currency revaluation (gain) loss, and other direct expenses that are incurred in providing services to our customers.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"&gt;&lt;sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"&gt;&lt;span style="font-size:8pt;"&gt;Selling and administrative expenses consist of payroll and related costs including commissions, bonuses, and stock-based compensation; marketing, advertising, trade conferences and related expenses; new services research and related software development expenses, software subscriptions, professional and consultant fees, provision for credit losses and other administrative overhead expenses.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"&gt;&lt;sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(3)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"&gt;&lt;span style="font-size:8pt;"&gt;Includes non-cash expenses which consist mainly of depreciation, amortization of capitalized software development costs and stock-based compensation expense.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(4)&lt;/sup&gt;&lt;span style="display:inline-block;width:12.17pt;"&gt;&lt;/span&gt;Includes non-cash expenses which consist mainly of stock-based compensation expense.&lt;/p&gt;</us-gaap:ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_O7yfbrfxzUSnxuSPdkrSog"
      decimals="-3"
      id="Tc_fRz-7yEcnkqajzKzkRR5gg_3_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">141098000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_wnRAMXxsP0KQ2z8PfMmLkQ"
      decimals="-3"
      id="Tc_30AU1ESt-0Ox54rp3zpp0Q_3_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">7864000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_fJBd0u5TNUKpMn8Sb4Z7cQ"
      decimals="-3"
      id="Tc_CH0-heKNjkahxg9lODcuWA_3_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">21499000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_AdvH83gA5ku5KXHo-vF9qg_3_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">170461000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:DirectOperatingCosts
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_O7yfbrfxzUSnxuSPdkrSog"
      decimals="-3"
      id="Tc_Uo84yJ9WCE2bU2gnijQJoQ_4_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">88186000</us-gaap:DirectOperatingCosts>
    <us-gaap:DirectOperatingCosts
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_wnRAMXxsP0KQ2z8PfMmLkQ"
      decimals="-3"
      id="Tc_QhdimfVDfEO8sOIHmf_f2A_4_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">5763000</us-gaap:DirectOperatingCosts>
    <us-gaap:DirectOperatingCosts
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_fJBd0u5TNUKpMn8Sb4Z7cQ"
      decimals="-3"
      id="Tc_R_qVQ8A12kKmvzAz0UM_4Q_4_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">9438000</us-gaap:DirectOperatingCosts>
    <us-gaap:DirectOperatingCosts
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_hen5GfG0IUysZFcJEvLmMw_4_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">103387000</us-gaap:DirectOperatingCosts>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_O7yfbrfxzUSnxuSPdkrSog"
      decimals="-3"
      id="Tc_HJhDYUaUfkaxeP82_bL8Iw_5_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">52912000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_wnRAMXxsP0KQ2z8PfMmLkQ"
      decimals="-3"
      id="Tc_EkbSl9XYc0WHuLuK-nkbVg_5_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2101000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_fJBd0u5TNUKpMn8Sb4Z7cQ"
      decimals="-3"
      id="Tc_zco773aujESl-0WYEXkP1Q_5_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">12061000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_NoMLzfxDA0q9FcKvJ6XoDQ_5_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">67074000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_O7yfbrfxzUSnxuSPdkrSog"
      decimals="-3"
      id="Tc_huBDY8H9k0awSZ9IKVGD9g_6_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">31685000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_wnRAMXxsP0KQ2z8PfMmLkQ"
      decimals="-3"
      id="Tc_Sk3tS9Bj00Gvwll2fkt1PA_6_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">194000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_fJBd0u5TNUKpMn8Sb4Z7cQ"
      decimals="-3"
      id="Tc_zdS8YrPEMUOdIvVAm_jkhA_6_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">10859000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_5o_2hSgQY02p7e5n1_MZYg_6_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">42738000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_O7yfbrfxzUSnxuSPdkrSog"
      decimals="-3"
      id="Tc_lM2NrLO3TUqifUv3RqGwcA_7_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">21227000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_wnRAMXxsP0KQ2z8PfMmLkQ"
      decimals="-3"
      id="Tc_KGSgln5bxkW69ov_5QdIyg_7_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1907000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_fJBd0u5TNUKpMn8Sb4Z7cQ"
      decimals="-3"
      id="Tc_eH_MTJN26EyZQ8xOSd289g_7_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1202000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_4rRAngJ-AUaDcXBml2BY7Q_7_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">24336000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_O7yfbrfxzUSnxuSPdkrSog"
      decimals="-3"
      id="Tc_jO8IvyEtMEKqac25kcZwcQ_8_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">153000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_fJBd0u5TNUKpMn8Sb4Z7cQ"
      decimals="-3"
      id="Tc_IOqf2_j_pUC2uzQYNJDY1A_8_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-4000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_e4-IuFRowUeYvZaGWaBamQ_8_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">149000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_O7yfbrfxzUSnxuSPdkrSog"
      decimals="-3"
      id="Tc_V3IPEY7IIEqbGiSr9hUuVA_9_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">21380000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_wnRAMXxsP0KQ2z8PfMmLkQ"
      decimals="-3"
      id="Tc_k_SIUhK3wkyN_34ZJM3pBg_9_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1907000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_fJBd0u5TNUKpMn8Sb4Z7cQ"
      decimals="-3"
      id="Tc_AFAoNyWS5UGt6c_HTXUrZw_9_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1198000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_UShre_zYt0CTrd4Ey4kELQ_9_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">24485000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_5skyboIVE0W-gVY8_RY_jQ"
      decimals="-3"
      id="Tc_NaZj18NmMUm6ZPJArhCKXQ_3_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">61576000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_vg9O6mYhHk2rk-GwFGX3jA"
      decimals="-3"
      id="Tc_KaG3AU0qjk2kczu5NbA5WQ_3_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">7511000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_4XqHiOkraEqYKlIciFylTA"
      decimals="-3"
      id="Tc_bW20d5bAwk6kpDj3Ceo_fg_3_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">17688000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_NuzINbeMOkirtAyUTjvZCQ_3_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">86775000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:DirectOperatingCosts
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_5skyboIVE0W-gVY8_RY_jQ"
      decimals="-3"
      id="Tc_7kZ0Itxzg0uxYcIaSpNydQ_4_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">40057000</us-gaap:DirectOperatingCosts>
    <us-gaap:DirectOperatingCosts
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_vg9O6mYhHk2rk-GwFGX3jA"
      decimals="-3"
      id="Tc_-OtPHAU48UeWtg1BieGr2g_4_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">6712000</us-gaap:DirectOperatingCosts>
    <us-gaap:DirectOperatingCosts
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_4XqHiOkraEqYKlIciFylTA"
      decimals="-3"
      id="Tc_wsHdFkZKJ02x6slzMa-CFg_4_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">8713000</us-gaap:DirectOperatingCosts>
    <us-gaap:DirectOperatingCosts
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_LVjr7DAsZ0ilSqf5p3fukg_4_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">55482000</us-gaap:DirectOperatingCosts>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_5skyboIVE0W-gVY8_RY_jQ"
      decimals="-3"
      id="Tc_bQezPHyqw0yw6-qnf7GLAQ_5_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">21519000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_vg9O6mYhHk2rk-GwFGX3jA"
      decimals="-3"
      id="Tc_gHlzwtPakkSEiQr2sH-78g_5_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">799000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_4XqHiOkraEqYKlIciFylTA"
      decimals="-3"
      id="Tc_VxdhRiPAy06JuAXm4YkcSw_5_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">8975000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_Xw_V-61KP0CjfSwooZVX0g_5_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">31293000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_5skyboIVE0W-gVY8_RY_jQ"
      decimals="-3"
      id="Tc_Wmg1vE8zf06i-BcfO_vntg_6_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">20085000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_vg9O6mYhHk2rk-GwFGX3jA"
      decimals="-3"
      id="Tc_jf11lFaMaE6BilmW5PJJIQ_6_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">580000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_4XqHiOkraEqYKlIciFylTA"
      decimals="-3"
      id="Tc_HAHIUhERE0u_7PPka_3jEg_6_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">10310000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_9G9VrpgB802pMDWx59whDw_6_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">30975000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_5skyboIVE0W-gVY8_RY_jQ"
      decimals="-3"
      id="Tc_kmnE6H1HB0-idLp2xA5Z0g_7_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1434000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_vg9O6mYhHk2rk-GwFGX3jA"
      decimals="-3"
      id="Tc_V9HiVFN8HUSENT67PIjg9Q_7_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">219000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_4XqHiOkraEqYKlIciFylTA"
      decimals="-3"
      id="Tc_BvB4G1SfO0i3oIG6y-AkPg_7_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-1335000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_qaVm5d1qqkqkGDsJd73MlQ_7_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">318000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_5skyboIVE0W-gVY8_RY_jQ"
      decimals="-3"
      id="Tc_wnhNNk4XE0eWhWWg6g5xbQ_8_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-174000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_4XqHiOkraEqYKlIciFylTA"
      decimals="-3"
      id="Tc_qNghPMDkbk2jlDBvV__Icw_8_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-5000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_TGaMTJBna0CMIUrDh4nO9g_8_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-179000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_5skyboIVE0W-gVY8_RY_jQ"
      decimals="-3"
      id="Tc_thxz4Rz9QkGVH-fI0kQSIQ_9_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1260000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_vg9O6mYhHk2rk-GwFGX3jA"
      decimals="-3"
      id="Tc_urE-uQoDHE2gW48EUsAnRg_9_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">219000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_4XqHiOkraEqYKlIciFylTA"
      decimals="-3"
      id="Tc_jqtqMrfRdEO87N1RI8Xizg_9_9"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-1340000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_7AqjFubaWUmvWwsH-HznCQ_9_12"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">139000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_E0q1__s_40eq3jXbjMf0bQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Long-lived assets as of December 31, 2024 and 2023 by geographic region were comprised of (in thousands): &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:35.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,182&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,101&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign countries:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,265&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,328&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;United Kingdom&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 806&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,028&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Philippines&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,532&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,484&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;India&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,251&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,791&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Sri Lanka&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 587&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 423&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Israel&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 63&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 13&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Germany&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total foreign&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 13,508&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 14,067&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Totals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;23,690&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 23,168&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_US_MYl3p3GHYUaoOcHGs6RTWA"
      decimals="-3"
      id="Tc_FyGKgF8vI0a7ufQiBk-RAA_3_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">10182000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_US_t5m68aLw50-Pg1QhilfDlQ"
      decimals="-3"
      id="Tc_ogVGmBEXKU-fUH7J45_zqQ_3_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">9101000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_CA_xGcix37yqEePc6LlzMTQOw"
      decimals="-3"
      id="Tc_aI_0Kxjo202aOPyO_Een-g_5_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">6265000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_CA_LmRfp9wnrkKasCJLc-PzTg"
      decimals="-3"
      id="Tc_iCqS9Oq3VEqK8JbRN8OLtg_5_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">7328000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_GB_O_LlwubZOkWtDW_HirHc5A"
      decimals="-3"
      id="Tc_nMnUUXQF902yp69sS-PZ3g_6_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">806000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_GB_ng20ziJdRkyivXAriMbCdQ"
      decimals="-3"
      id="Tc_WERHxeGYU0G0I2e_XulJHg_6_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1028000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_PH_uuM_lRFX2Emr8ODxUjRSkg"
      decimals="-3"
      id="Tc_4D6loBTIp0-BOAsWhvRwAQ_7_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3532000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_PH_RWnIrQOsa0mKa1nBvTgV_w"
      decimals="-3"
      id="Tc_PRWWtP3BUEe_kdbf1wg5iA_7_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">3484000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_IN_JUpwXiqcYUGcm1fOlBs-Yg"
      decimals="-3"
      id="Tc_Hhjxe-YrpUSBKpOPJAzcWw_8_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">2251000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_IN_b2JzLjKf_0e_O0UN6Lq1JA"
      decimals="-3"
      id="Tc_gph8pXtbgEOpdu62CssoxA_8_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">1791000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_LK_4Fh76J9z60SdETIPB2ezrA"
      decimals="-3"
      id="Tc_NQ8LGeYf90quI521k-6FSw_9_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">587000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_LK_TFp11VS73kufhMq0wqkUNg"
      decimals="-3"
      id="Tc_BEAjDjon0Umwad4fEh3dcw_9_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">423000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_stpr_IL_z1G9lc4gjEuqq1fuEGY8Mg"
      decimals="-3"
      id="Tc_NTSh4GI_ZEOVNvzIGkq4dw_10_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">63000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_stpr_IL_yk7SngNHY0yjRCe9MxdM1g"
      decimals="-3"
      id="Tc_BpgDE-qh_E2j4CE69zhBuA_10_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">13000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_DE_NtGBHoCqW0KqXeCJYBCefw"
      decimals="-3"
      id="Tc_O8PSnPiTvUKkJtICvOkZ8w_11_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">4000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_inod_ForeignCountriesMember_ZzRFei96XEquYEbW4N8xIQ"
      decimals="-3"
      id="Tc_sDdtE0qBMEWYWRnEku1Z4w_12_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">13508000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_inod_ForeignCountriesMember_ZPPbAPeRNEyNY65VDxYiAA"
      decimals="-3"
      id="Tc_lZI1DRJA7EarhchYjoab6A_12_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">14067000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-3"
      id="Tc_zJLhq68tKEq-WNZasuXwtQ_13_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">23690000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-3"
      id="Tc_fiBMptYoBkuJW7bEqF9BHw_13_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">23168000</us-gaap:NoncurrentAssets>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-5"
      id="Narr_j6mqpLLz3keNW-FDATrwVw"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">4200000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-5"
      id="Narr_Mjx3zpSZnECvTQcdxIOVZw"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">5100000</us-gaap:OperatingLeaseRightOfUseAsset>
    <inod:NumberOfClient
      contextRef="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_RA24ZCeBFEauAZjTcQN-Fg"
      decimals="INF"
      id="Narr_NpXfHl2o802S1wTSWa0ivA"
      unitRef="Unit_Standard_customer_9_H1AbzmbEiNYhU0niR5jw">1</inod:NumberOfClient>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_RA24ZCeBFEauAZjTcQN-Fg"
      decimals="2"
      id="Narr_L9cySRaaVk-Y2vH0l-MkQw"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.48</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_qNQXPKAzR0OEyNGUUTCncA"
      decimals="2"
      id="Narr_O1YSlNU6RkKyLXzB3q2a_g"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.10</us-gaap:ConcentrationRiskPercentage1>
    <inod:NumberOfClient
      contextRef="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ClientMember_srt_StatementGeographicalAxis_country_US_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_AWdcfG0ZVkWokAYI1JqaBA"
      decimals="INF"
      id="Narr_5-5fvYChlkegzoItOOCXSA"
      unitRef="Unit_Standard_customer_9_H1AbzmbEiNYhU0niR5jw">0</inod:NumberOfClient>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_RDdLwXvIoEmsSgtOv4tMag"
      decimals="2"
      id="Narr_qYOmOkeYmkycvYWktZ00Pw"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2024_To_12_31_2024_srt_StatementGeographicalAxis_us-gaap_NonUsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_MPu6YzbxnkaAhAa2gAdCug"
      decimals="2"
      id="Narr_qyje-gjvz0aM9m8Rw79uJw"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.21</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_us-gaap_NonUsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_rCle3eMyOEyIvjLCJkG__g"
      decimals="2"
      id="Narr_ygYNNMEpqEypA15Gc1BMFQ"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.37</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_gqmj4OeGXkSW_ahJQi-3SA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Revenues for each of the two&#160;years in the period ended December 31, 2024 and 2023 by geographic region (determined based upon customer domicile), were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:34.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 133,876&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 54,430&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;United Kingdom &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,006&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,766&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;The Netherlands&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,059&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,291&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,696&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,156&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Others - principally other European countries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,824&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,132&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Totals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 170,461&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 86,775&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2024_To_12_31_2024_srt_StatementGeographicalAxis_country_US_nDQWfjvHv0y2oQwWoBJaEA"
      decimals="-3"
      id="Tc_SM1jOh0r60SQkY7Dsl2WlQ_3_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">133876000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_US_Au7whR08OUyEZWtUTxoXdA"
      decimals="-3"
      id="Tc_rLLRJWIkLEeH73M4wgr_FQ_3_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">54430000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2024_To_12_31_2024_srt_StatementGeographicalAxis_country_GB_qsVfT86o0UuiZpnsQCOMvg"
      decimals="-3"
      id="Tc_dhMNhc5md0ynRupdpcNCxA_4_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">10006000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_GB_NwJe7mL3sU2LHKHNe4a4qw"
      decimals="-3"
      id="Tc_VZpupIaEukyTOSk5kcIPag_4_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">10766000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2024_To_12_31_2024_srt_StatementGeographicalAxis_country_NL_tEkK51FiFkWLjoGdH14nxg"
      decimals="-3"
      id="Tc_hYNIsgdVg0-ESdchHRoW8w_5_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">8059000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_NL_Y7HzdVe2MEGqH_1Ry_BTvw"
      decimals="-3"
      id="Tc_Py9MPPO0H0Cn1AqoX8Ctcw_5_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">7291000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2024_To_12_31_2024_srt_StatementGeographicalAxis_country_CA_wYMJDAKY-EG0oNI94uXvAw"
      decimals="-3"
      id="Tc_RF9cXZzCgUWtPNaNGavsbA_6_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">8696000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_CA_ob6LzdJzbk6rFHRKIA-tLA"
      decimals="-3"
      id="Tc_8EY8t1l5eUC2DqI_vOVgSw_6_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">7156000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2024_To_12_31_2024_srt_StatementGeographicalAxis_inod_OtherPrincipallyEuropeMember_D2pospoFuEerOD86WBLppA"
      decimals="-3"
      id="Tc_6-61LyQJikSEMRB0cxC8wA_7_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">9824000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_inod_OtherPrincipallyEuropeMember_fKRoqkvvykSUshQGHJCiSw"
      decimals="-3"
      id="Tc_-Fy9-y9M3keKAzu5JmI5SQ_7_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">7132000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_ejRGOutX7E2Ha8Vw_SXuGQ_8_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">170461000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_L4TRaXAqqUmEqZD7o6qRMg_8_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">86775000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ForeignCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_JTqKMIIzn0OWteVriD9C7g"
      decimals="2"
      id="Narr_IGnhX64CaEmS5mF4v58YZg"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.16</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_TwoClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_gWFnncdmTEGT7_HnXni5Cg"
      decimals="2"
      id="Narr_mlW30adclUyfnjswlvLHTw"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.61</us-gaap:ConcentrationRiskPercentage1>
    <inod:NumberOfClient
      contextRef="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_TwoClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_gWFnncdmTEGT7_HnXni5Cg"
      decimals="INF"
      id="Narr_bs1rAL6pqEif_fCaEJTf9g"
      unitRef="Unit_Standard_customer_9_H1AbzmbEiNYhU0niR5jw">2</inod:NumberOfClient>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ForeignCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_mKvNA3LkWk2yN5AyVvzZTQ"
      decimals="2"
      id="Narr_teS0jy5CdEeX7IjpmEIKGg"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.31</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ThreeClientsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_4Sadc-gyL0iMsAwA2tleig"
      decimals="2"
      id="Narr_PwQsvRcKLEaMp5aOVR5PGw"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.53</us-gaap:ConcentrationRiskPercentage1>
    <inod:NumberOfClient
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ThreeClientsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_4Sadc-gyL0iMsAwA2tleig"
      decimals="INF"
      id="Narr_M7Tl9t-Sf0einSgUUxQB2Q"
      unitRef="Unit_Standard_customer_9_H1AbzmbEiNYhU0niR5jw">3</inod:NumberOfClient>
    <inod:NumberOfClient
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_nePV46ws3E2oSn-a3utVCg"
      decimals="INF"
      id="Narr__K2sMsmANkGLSU50y-n03g"
      unitRef="Unit_Standard_customer_9_H1AbzmbEiNYhU0niR5jw">0</inod:NumberOfClient>
    <inod:NumberOfClient
      contextRef="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_gS6teXbpfkiAhH9SQOC_9g"
      decimals="INF"
      id="Narr_3Cg0r1_Sg0SEBikjlcVAUA"
      unitRef="Unit_Standard_customer_9_H1AbzmbEiNYhU0niR5jw">0</inod:NumberOfClient>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_p2a7is_IREm3ouxeuHtiWQ"
      decimals="2"
      id="Narr_ep-xlouRAkqRA2Rf9dGKLQ"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_gmsKeuNeWUS7pvwtaEpy9g"
      decimals="2"
      id="Narr_mJLpftwdAk-eGqfia19EVg"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_FAWLsgmphUqoCzeSCYcyGQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt;"&gt;15.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Income (loss) per Share&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For&#160;the&#160;Years&#160;Ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net income (loss) attributable to Innodata Inc. and Subsidiaries &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,660&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (908)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Weighted average common shares outstanding&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 29,163&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,131&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Dilutive effect of outstanding options and restricted stock units&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,014&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Adjusted for dilutive computation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 32,177&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,131&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Basic income (loss) per share is computed using the weighted-average number of common shares outstanding during the&#160;year. Diluted income per share is computed by considering the impact of the potential issuance of common shares, using the treasury stock method, on the weighted average number of shares outstanding. For those securities that are not convertible into a class of common stock, the two-class method of computing loss per share is used.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Options to purchase 4.0 million shares of common stock for the year ended December 31, 2024 were outstanding. Of these options, 3.7 million were included in the computation of diluted income per share while the remaining 0.3 million were not included in the computation of diluted income per share because the exercise price of the options were greater than the average market price of the common shares and therefore have not been considered as potential equity shares. Also included in the computation of dilutive income per share are 513,455 restricted stock units using the treasury stock method to determine the dilutive effect of restricted stock units outstanding as of December 31, 2024.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Options to purchase 6.3 million shares of common stock for the year ended December 31, 2023 were outstanding but not included in the computation of diluted loss per share because the effect would have been anti-dilutive.&lt;/p&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_0OO9c4VwZUKoVaZ3GQ1SPg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For&#160;the&#160;Years&#160;Ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net income (loss) attributable to Innodata Inc. and Subsidiaries &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,660&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (908)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Weighted average common shares outstanding&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 29,163&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,131&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Dilutive effect of outstanding options and restricted stock units&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,014&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Adjusted for dilutive computation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 32,177&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,131&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_0blmLVeY-UO3La0dnsiowg_4_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">28660000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_AN_skcKMNEauvZC4KFQP6A_4_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-908000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_R1TG7v67e0myvDUPRa23cQ_5_3"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">29163000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_fKrd1HMV3UWwaP0KM4qO6A_5_6"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">28131000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_6AFtkiiruEWvK0EAJ7XZuw_6_3"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">3014000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_1ZpPrjoUa0uGVxGlDprpVw_7_3"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">32177000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_TV0QWPjWyk6aAHyc61FUtw_7_6"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">28131000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_eJa40A_h-kGX1tkJzjjYZA"
      decimals="-5"
      id="Narr_ki5QiVnCkUGS49zc6zWNGQ"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">4000000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_S1GDvg3IeE2XmKn1NwjnPQ"
      decimals="-5"
      id="Narr_7ZKKj64MAU6XFwisOeMKOg"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">3700000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_tWfdOE89JECD__2OPj2d0w"
      decimals="-5"
      id="Narr_MOhwUm-5Ik2LAI5gwJ8ptQ"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">300000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_8DuPb6w0zU6DLbsVO6seHA"
      decimals="INF"
      id="Narr_WK6EruNFD0-sUK8pGgNWYg"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">513455</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember__9wUofjsfU2SeYiwOl4XdQ"
      decimals="-5"
      id="Narr_tH01HXzlJUGp6s3SO7qunw"
      unitRef="Unit_Standard_shares_4C_INxNpdkm7RgIDaD5pcA">6300000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_aqClWfhnP0-Yifv9ddbidg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;16.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Derivatives&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company conducts a large portion of its operations in international markets which subject it to foreign currency fluctuations. The most significant foreign currency exposures occur when revenue and associated accounts receivable are collected in one currency and expenses to generate revenues are incurred in another currency. The Company is also subject to wage inflation and other government mandated increases and operating expenses in Asian countries where the Company has the majority of its operations. The Company&#x2019;s primary inflation and exchange rate exposure relates to payroll, other payroll costs and operating expenses in the Philippines, India, Sri Lanka and Israel.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;In addition, although most of the Company&#x2019;s revenue is denominated in U.S. dollars, a significant portion of total revenues is denominated in Canadian dollars, Pound Sterling and Euros.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s policy is to enter derivative instrument contracts with terms that coincide with the underlying exposure being hedged for a period up to 12 months. As such, the Company&#x2019;s derivative instruments are expected to be highly effective. For derivative instruments that are designated and qualify as cash flow hedges, the entire change in fair value of the hedging instrument is recorded to Other comprehensive income (loss). Upon settlement of these contracts, the change in the fair value recorded in Other comprehensive income (loss) are reclassified to earnings and included as part of Direct operating costs. For derivative instruments that are not designated as hedges, any change in fair value is recorded directly in earnings as part of Direct operating costs.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company formally documents all relationships between hedging instruments and hedged items, as well as its risk management objective and strategy for undertaking hedge transactions. The Company does not hold or issue derivatives for trading purposes. All derivatives are recognized at their fair value and classified based on the instrument&#x2019;s maturity date. The total notional amount for outstanding derivatives designated as hedges was $22.5 million and $10.5 million as of December 31, 2024 and 2023, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The following table presents the fair value of derivative instruments included within the consolidated balance sheets as of December 31, 2024 and 2023 (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:30.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Derivatives designated as hedging instruments:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:30.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign currency forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;Accrued expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 499&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign currency forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:30.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;Prepaid expenses and other current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 41&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The effect of foreign currency forward contracts designated as cash flow hedges on the consolidated statements of operations for the&#160;years ended December 31, 2024 and 2023 were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net gain (loss) recognized in OCI&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (494)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 185&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net loss reclassified from accumulated OCI into income&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (58)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (221)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net gain recognized in income&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(3)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;Net change in fair value of the effective portion classified into other comprehensive income (&#x201c;OCI&#x201d;)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(2)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;Effective portion classified within direct operating costs.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(3)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;There were no ineffective portions for the period presented&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock>
    <us-gaap:DerivativeNotionalAmount
      contextRef="As_Of_12_31_2024_4fg92NoFH0qKOldr4fOGJQ"
      decimals="-5"
      id="Narr_-O43HlgIjEG9cxrouBJw2w"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">22500000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount
      contextRef="As_Of_12_31_2023_f07IRKhkJEejHo9Bu2hyhQ"
      decimals="-5"
      id="Narr_5TRMHQAz70iTwkrX8rK-1A"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">10500000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_gfQ5QlkGwk69FaJTCj23aA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The following table presents the fair value of derivative instruments included within the consolidated balance sheets as of December 31, 2024 and 2023 (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:30.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Derivatives designated as hedging instruments:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:30.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign currency forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;Accrued expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 499&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign currency forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:30.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;Prepaid expenses and other current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 41&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock>
    <us-gaap:DerivativeInstrumentsAndHedgesLiabilities
      contextRef="As_Of_12_31_2024_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_WqCf5fkajkCAgTVIJ0pPWw"
      decimals="-3"
      id="Tc_hapaYkp6F0S6ST1JKa7_9A_4_5"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">499000</us-gaap:DerivativeInstrumentsAndHedgesLiabilities>
    <us-gaap:DerivativeInstrumentsAndHedgesLiabilities
      contextRef="As_Of_12_31_2023_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_a3hTbpXLWUaKxQsYFEjCTg"
      decimals="-3"
      id="Tc_5mBR13yV0UGzw8lg67Q0Iw_5_8"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">41000</us-gaap:DerivativeInstrumentsAndHedgesLiabilities>
    <us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_II4dsIYugk2neDf0xOHAlg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The effect of foreign currency forward contracts designated as cash flow hedges on the consolidated statements of operations for the&#160;years ended December 31, 2024 and 2023 were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net gain (loss) recognized in OCI&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (494)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 185&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net loss reclassified from accumulated OCI into income&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (58)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (221)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net gain recognized in income&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(3)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;Net change in fair value of the effective portion classified into other comprehensive income (&#x201c;OCI&#x201d;)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(2)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;Effective portion classified within direct operating costs.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(3)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;There were no ineffective portions for the period presented&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_kG3JcoXFbE-_A_P4_Nvthw_2_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-494000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_Whsk1VxP-UybyioHTFEqww_2_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">185000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      decimals="-3"
      id="Tc_doLmSPChN0uemLvZ9ATYCA_3_3"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-58000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax
      contextRef="Duration_1_1_2023_To_12_31_2023_b6dAWmLKz0CQDJGe2CtnWw"
      decimals="-3"
      id="Tc_gkbBCTubskODLVsI3OYhCA_3_6"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">-221000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="Duration_1_1_2024_To_12_31_2024_B-q_pVEHD0ybYX_wWWvGNA"
      id="Tb_T9jzCCH2_UGSI9SrQ-1YoQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;17.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Line of Credit&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;On April 4, 2023, the Company entered into a Credit Agreement (the &#x201c;Credit Agreement&#x201d;) with Wells Fargo Bank, National Association, as lender, and Innodata Inc., Innodata Synodex, LLC, Innodata docGenix, LLC and Agility PR Solutions LLC as co-borrowers. On July 21, 2023, Innodata Services, LLC signed a Joinder Agreement to join the Credit Agreement as a co-borrower. On August 5, 2024, the Company entered into a second amendment to the Credit Agreement (together with the Credit Agreement, the &#x201c;Amended Credit Agreement&#x201d;). The Amended Credit Agreement provides for a secured revolving line of credit (the &#x201c;Revolving Credit Facility&#x201d;) up to an amount equal to the lesser of the borrowing base and $30.0 million (the &#x201c;Maximum Credit&#x201d;) and provides that a Borrower may request an increase to the Revolving Credit Facility&#x2019;s Maximum Credit of up to, but not to exceed $50.0 million, subject to the approval of the Lender. The Revolving Credit Facility&#x2019;s borrowing base is calculated on the basis of (i) 85% of eligible accounts (other than eligible foreign accounts and unbilled accounts), plus (ii) the lesser of (a) 80% of eligible accounts that are unbilled accounts and (b) 30% of all eligible accounts, plus (iii) the lesser of (a) 85% of eligible foreign accounts, (b) 20% of all eligible accounts and (c) $4.0 million, minus (iv) certain other reserves and adjustments. As of December 31, 2024, such borrowing base calculation equaled approximately $22.3 million. The Credit Agreement contains a financial covenant that requires the Borrowers, on a consolidated basis, to maintain a fixed charge coverage ratio of not less than 1.10 to 1.00. Except as set forth in the Credit Agreement, borrowings under the Revolving Credit Facility bear interest at a rate equal to the daily simple secured overnight financing rate (&#x201c;&lt;span style="-sec-ix-hidden:Hidden_ZzADL070F0SbmOl_6h7B7w;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;SOFR&lt;/span&gt;&lt;/span&gt;&#x201d;) plus 2.25%. The Company did not utilize the Revolving Credit Facility during the year ended December 31, 2024 or during the subsequent period through the filing date of this Report.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_ARKlRptwm0ecXlwdFM97gA"
      decimals="-5"
      id="Narr_NyLop7NO_EGLTlNJ9bsHKQ"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">30000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <inod:LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender
      contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_ARKlRptwm0ecXlwdFM97gA"
      decimals="-5"
      id="Narr_CrUREDfTVUiXmE76QY-OyQ"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">50000000</inod:LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender>
    <inod:LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase
      contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_ARKlRptwm0ecXlwdFM97gA"
      decimals="2"
      id="Narr_-JJZILe6lkW2mt1olqejHA"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.85</inod:LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase>
    <inod:LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase
      contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_ARKlRptwm0ecXlwdFM97gA"
      decimals="2"
      id="Narr_By3DIWFgoEiaYcso6gavSw"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.80</inod:LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase>
    <inod:LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase
      contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_ARKlRptwm0ecXlwdFM97gA"
      decimals="2"
      id="Narr_soI3BC65Mkq12rFseT0QFg"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.30</inod:LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase>
    <inod:LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase
      contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_ARKlRptwm0ecXlwdFM97gA"
      decimals="2"
      id="Narr_xR_yXXhFm0Onoos7YkOTFA"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.85</inod:LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase>
    <inod:LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase
      contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_ARKlRptwm0ecXlwdFM97gA"
      decimals="2"
      id="Narr_2asrjOEn_0uOG8Xvb8mTNQ"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.20</inod:LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase>
    <inod:LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase
      contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_ARKlRptwm0ecXlwdFM97gA"
      decimals="-5"
      id="Narr_4jU0ezLWYU-e2Dkgwy5fmQ"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">4000000</inod:LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase>
    <us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity
      contextRef="As_Of_12_31_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_Oh7Lh_DHn0K4-FcC2NeNMA"
      decimals="-5"
      id="Narr_DgXmDDiiQEeGgMkwVaU1MQ"
      unitRef="Unit_Standard_USD_rRwbSbSaBEO5ql7wmzd3rg">22300000</us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity>
    <inod:LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio
      contextRef="Duration_8_5_2024_To_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_Rd8_85kk1EGdoRwjZ_W3KA"
      decimals="2"
      id="Narr_b631Du0sUE6wdYbdvoaHBw"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">1.1</inod:LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_aBl18KRgD0WnIJLI5-9AWA"
      decimals="4"
      id="Narr_YFHUbj2XokSd9KUs50-rKQ"
      unitRef="Unit_Standard_pure_8INKhe64ukm_VxMasPVoaQ">0.0225</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
